js判断字符串中是否包含某个字符串
js判断字符串中是否包含某个字符串
js判断字符串中是否包含某个字符串
js判断字符串中是否包含某个字符串
String对象的方法
方法一:indexOf(searchvalue,start) (推荐)
1
2
var str = "123";
console.log(str.indexOf("3") !== -1 ); // true
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
方法二:search(searchvalue)
1
2
var str = "123";
console.log(str.search("3") !== -1 ); // true
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。
方法三:match(regexp)
1
2
3
4
5
var str = "123234356";
var reg1 = RegExp(/3/);
var reg2 = RegExp(/3/g);
console.log(str.match(reg1)); // ["3"]
console.log(str.match(reg2)); // ["3", "3", "3"]
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。(返回匹配结果的数组)
RegExp 对象方法
方法四:test()
1
2
3
var str = "123";
var reg = RegExp(/3/);
console.log(reg.test(str)); // true
test() 方法用于检索字符串中指定的值。返回 true 或 false。
方法五:exec()
1
2
3
4
5
var str = "123123123";
var reg1 = RegExp(/3/);
var reg2 = RegExp(/3/g);
console.log(reg1.exec(str)); //["3"]
console.log(reg2.exec(str)); //["3"]
exec() 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
exec() 和 match() 区别:
- exec是正则表达式的方法,它的参数是字符串;match是字符串执行匹配正则表达式规则的方法,他的参数是正则表达.
- exec与全局是否定义无关系,而match则于全局相关联,当定义为非全局,两者执行结果相同
本文由作者按照 CC BY 4.0 进行授权