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

JavaScript提供了许多方法来检查字符串是否包含子字符串。学习规范的方法,并使用普通的JavaScript找出所有可用的选项

在任何编程语言中,检查字符串是否包含子字符串是最常见的任务之一。


JavaScript提供了执行此操作的不同方法。

最简单的方法,以及随后的规范方法,都在使用includes()字符串上的方法:

'a nice string'.includes('nice') //true

这种方法是在ES6 / ES2015

除Internet Explorer之外,所有现代浏览器均支持该功能:

Browser Support for includes

要在所有浏览器上使用它,请使用Polyfill.io或其他专用的polyfill。

includes()还接受可选的第二个参数,该整数表示开始搜索的位置:

'a nice string'.includes('nice') //true
'a nice string'.includes('nice', 3) //false
'a nice string'.includes('nice', 2) //true

ES6之前版本的include()替代品:indexOf()

在ES6之前,检查字符串是否包含子字符串的常用方法是使用indexOf,这是一个字符串方法,如果该字符串不包含子字符串,则返回-1。如果找到了子字符串,它将返回以该字符串开头的字符的索引。

喜欢includes(),第二个参数设置起点:

'a nice string'.indexOf('nice') !== -1 //true
'a nice string'.indexOf('nice', 3) !== -1 //false
'a nice string'.indexOf('nice', 2) !== -1 //true

免费下载我的JavaScript初学者手册


更多js教程: