最近用到了一些字符串的判断,小小的整理下
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 );//ture
console.log(str.indexOf("3"));//2
复制代码
search(searchvalue) 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到任何匹配的子串,则返回 -1。
var str = "1234563";
console.log(str.search("3") != -1 );//ture
console.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
复制代码