最近用到了一些字符串的判断,小小的整理下
ES6新增的三个:
- includes(searchvalue,fromindex) :返回布尔值,表示是否找到了参数字符串。
- startsWith(searchvalue,fromindex) :返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith(searchvalue,fromindex) :返回布尔值,表示参数字符串是否在原字符串的尾部。都支持第二个参数,表示起始搜索的位置(搜索的字符串长度+第二个参数<字符串的长度)
var str = 'WenWen';str.startsWith('W');//true str.startsWith('e',1);//true str.startsWith('We',5);//false复制代码
ES5
indexOf(searchvalue,fromindex) 返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
var str = "1234563";console.log(str.indexOf("3",4) != -1 );//tureconsole.log(str.indexOf("3"));//2复制代码
search(searchvalue) 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到任何匹配的子串,则返回 -1。
var str = "1234563";console.log(str.search("3") != -1 );//tureconsole.log(str.search("3"));//2复制代码
match(searchvalue) 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
var str = "WenWen";var reg = RegExp(/en/);if(str.match(reg)){ var arr = str.match(reg); console.log(arr);//[en] console.log("我爱你,文文") }复制代码
test(searchvalue) 方法用于检索字符串中指定的值。返回 true 或 false。
var str = "WenWen";var reg = RegExp(/en/);if(reg.test(str)){ var arr = reg.test(str); console.log(arr);//ture console.log("我爱你,文文") }复制代码
exec(searchvalue) 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
var str = "WenWen";var reg = RegExp(/en/);var arr1 = reg.exec(str);if(reg.exec(str)){ var arr = reg.exec(str); console.log(arr);//[en] console.log("我爱你,文文") }console.log(arr1);//null复制代码