您的位置:

JS判断字符串中是否有某个字符串的方法详解

一、`indexOf()`方法

在JS中,我们可以使用`indexOf()`方法来判断一个字符串中是否包含另一个字符串,该方法会返回目标字符串在源字符串中第一次出现的位置。如果没有匹配到目标字符串,则返回-1。

const str = "hello world";
console.log(str.indexOf("world"));  // 6
console.log(str.indexOf("hello"));  // 0
console.log(str.indexOf("test"));  // -1

当目标字符串在源字符串中出现多次时,该方法只返回第一次出现的位置。

const str = "hello world, world";
console.log(str.indexOf("world"));   // 6
console.log(str.lastIndexOf("world"));  // 12

二、`includes()`方法

`includes()`方法也可以用来判断一个字符串是否包含另一个字符串,该方法会返回一个布尔值,如果源字符串包含目标字符串,则返回true,否则返回false。

const str = "hello world";
console.log(str.includes("world"));  // true
console.log(str.includes("hello"));  // true
console.log(str.includes("test"));  // false

三、`search()`方法

`search()`方法也可以用来判断一个字符串是否包含另一个字符串,该方法会返回一个目标字符串在源字符串中第一次出现的位置。如果没有匹配到目标字符串,则返回-1。

const str = "hello world";
console.log(str.search("world"));   // 6
console.log(str.search("hello"));   // 0
console.log(str.search("test"));   // -1

四、正则表达式

使用正则表达式也可以判断一个字符串中是否包含另一个字符串。

const str1 = "hello world";
const str2 = "world hello";
const regex = /world/;
console.log(regex.test(str1));   // true
console.log(regex.test(str2));   // true

五、`match()`方法

`match()`方法也可以用于判断一个字符串中是否包含另一个字符串。该方法返回一个数组,其中包含了所有匹配到的字符串。

const str = "hello world, world";
console.log(str.match(/world/g));  // ["world", "world"]
console.log(str.match(/test/g));  // null

总结

我们可以使用多种方式判断一个字符串中是否包含另一个字符串,其中`indexOf()`方法、`includes()`方法和`search()`方法是基于字符串的操作,而正则表达式和`match()`方法则更加强大,可以匹配更多的情况。