Skip to content

在JavaScript中检查字符串是否包含子字符串

String.prototype.includes()

最直接的子字符串搜索选项是ES6中引入的String.prototype.includes()方法。它是一个简单的方法,根据字符串是否包含子字符串返回一个布尔值。

const str = 'Hello world';
str.includes('world'); // true
str.includes('foo'); // false

String.prototype.indexOf()

另一个选项是String.prototype.indexOf()方法,如果你需要支持旧版浏览器,这可能更可取。由于该方法返回子字符串的第一个出现的索引,你需要将其与-1进行比较,以确定是否找到了子字符串。

const str = 'Hello world';
str.indexOf('world') !== -1; // true
str.indexOf('foo') !== -1; // false

不区分大小写的子字符串搜索

到目前为止,所介绍的两种方法都是区分大小写的。如果你需要搜索不区分大小写的子字符串,可以使用String.prototype.toLowerCase()将两个字符串都转换为小写。然后,你可以使用之前的任何方法进行比较。

const str = 'Hello world';
const token = 'WORLD';
str.toLowerCase().includes(token.toLowerCase()); // true