js 判断字符串中是否包含某个字符串——indexOf()和RegExp & 数组-includes()
1、String对象的方法
方法一: indexOf() (推荐)
var str = "1234";console.log(str.indexOf("3") != -1 ); // true
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
方法二: search()
var str = "1234";console.log(str.search("3") != -1 ); // true
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。
方法三:match()
var str = "1234";var reg = RegExp(/3/);if(str.match(reg)){// 包含 console.log("包含")}
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
2、RegExp 对象方法
方法四:test()
var str = "1234";var reg = RegExp(/3/);console.log(reg.test(str)); // true
test() 方法用于检索字符串中指定的值。返回 true 或 false。
方法五:exec()
var str = "1234";var reg = RegExp(/3/);if(reg.exec(str)){// 包含 console.log("包含")}
3、附:数组中包含
includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
[1, 2, 3].includes(2);// true[1, 2, 3].includes(4);// false[1, 2, 3].includes(3, 3); // false[1, 2, 3].includes(3, -1); // true[1, 2, NaN].includes(NaN); // true