在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