在本文中,我们研究了多种方法来快速检查字符串是否包含 JavaScript 中的子字符串。

javascript如何检验字符串(七爪源码如何在)(1)

1.字符串includes()方法

要检查字符串是否包含子字符串,我们可以在字符串上调用 includes() 方法,将子字符串作为参数传递,例如 str.includes(substr)。 如果字符串包含子字符串,includes() 方法返回 true,否则返回 false。

const str = 'Bread and Milk';const substr1 = 'Milk'; const substr2 = 'Tea';console.log(str.includes(substr1)); // trueconsole.log(str.includes(substr2)); // false

小费

要执行不区分大小写的检查,请在对字符串调用 includes() 之前将字符串和子字符串都转换为小写。

const str = 'Bread and Milk';const substr = 'milk';console.log( str.toLowerCase().includes(substr.toLowerCase()) ); // true

2. 字符串 indexOf() 方法

我们还可以使用 indexOf() 方法来检查字符串是否包含子字符串。 我们在字符串上调用 indexOf() 方法,将子字符串作为参数传递。 然后我们将结果与-1进行比较。 例如:

const str = 'Bread and Milk';const substr1 = 'Milk'; const substr2 = 'Tea';console.log(str.indexOf(substr1) > -1); // trueconsole.log(str.indexOf(substr2) > -1); // false

indexOf() 方法在字符串中搜索一个值并返回该值第一次出现的索引。 如果找不到该值,则返回 -1。

const str = 'Bread and Milk';const substr1 = 'Milk'; const substr2 = 'Tea';console.log(str.indexOf(substr1)); // 10 console.log(str.indexOf(substr2)); // -1

这就是为什么我们将 indexOf() 的结果与 -1 进行比较以检查子字符串是否在字符串中。

小费

要执行不区分大小写的检查,请在对字符串调用 indexOf() 之前将字符串和子字符串都转换为小写。

const str = 'Bread and Milk';const substr = 'milk';console.log( str.toLowerCase().indexOf(substr.toLowerCase()) > -1 ); // true

3.正则表达式匹配

我们可以根据正则表达式模式测试字符串以确定它是否包含

const str = 'Bread and Milk';console.log(/Milk/.test(str)); // true console.log(/Tea/.test(str)); // false

使用正则表达式匹配允许我们轻松指定复杂的模式来搜索字符串。

const str = 'Bread and Milk';// Contains 'sand', 'land', or 'and'? console.log(/[sl]?and/.test(str)); // true// Contains 'book0', 'book1', ..., 'book8' or 'book9'? console.log(/book(\d)/.test(str)); // false

关注七爪网,获取更多APP/小程序/网站源码资源!

,