1.操作符进行比较
该方法使用比较运算符,可以比较两个字符串之间的大小。比较时会进行字符的Unicode比较。如下代码:
var str1 = "hello";var str2 = "world";if(str1 >str2){console.log("str1 >str2");}else{console.log("str1< str2");}上述代码中,按Unicode比较,"h"的Unicode为104,"w"的Unicode为119,所以"hello"的Unicode值大于"world",输出结果为"str1< str2"。
2.字符串比较函数
该方法使用字符串的内建方法进行字符串比较。Javascript中提供了三个字符串比较函数进行比较:a) localeCompare():该方法比较两个字符串之间的本地化排序,返回比较结果-1, 0, 1。例如:
var str1 = "hello";var str2 = "world";if(str1.localeCompare(str2) === 1){console.log("str1 >str2");}else if(str1.localeCompare(str2) === -1){console.log("str1< str2");}else{console.log("str1 = str2");}输出结果为"str1< str2"。b) str.indexOf(substr):该方法会返回子字符串substr在字符串str中首次出现的位置,如果不存在,则返回-1。例如:
var str = "abcdefg";if(str.indexOf("cde") !== -1){console.log("str contains cde");}else{console.log("str does not contain cde");}输出结果为"str contains cde"。c) str.search(regexp):该方法会返回与正则表达式regexp匹配的第一个子字符串的位置,如果没有找到匹配,则返回-1。例如:
var str = "abcdefg";if(str.search(/ef/) !== -1){console.log("str contains ef");}else{console.log("str does not contain ef");}输出结果为"str contains ef"。
总结:
Javascript中有两种比较字符串的方法,可以根据需要进行选择。要进行大于或小于比较时可以使用比较操作符,但需要注意字符的Unicode大小;而如果要进行字符串的包含或搜索等操作时,需要使用内建字符串函数。