JavaScript 判断字符串是否包含某个字符串

时间:2022-04-26 23:57:13

参考
W3Cschool 版 JavaScript 在线 API

String 对象

indexOf()

indexOf() 返回某个指定的字符串值在字符串中首次出现的位置。
如果要检索的字符串值没有出现,则该方法返回 -1。

var str = "*";
console.info(str.indexOf("人民")!=-1); // true
console.info(str.indexOf("中国人")!=-1); // false

search() 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
如果没有找到任何匹配的子串,则返回 -1。

var str = "*";
console.info(str.search("人民")!=-1); // true
console.info(str.search("中国人")!=-1); // false

match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
返回值:存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null 。

var str="The rain in SPAIN stays mainly in the plain"; 
if(str.match(/ain/gi)){
    // 包含
}

RegExp 对象

test()

test() 方法用于检索字符串中指定的值。返回 true 或 false。

var str = "123";
var reg = RegExp(/3/);
console.log(reg.test(str)); // true

exec()

exec() 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

var str = "123";
var reg = RegExp(/3/);
if(reg.exec(str)){
    // 包含 
}