如何在JavaScript中检查字符串是否包含子字符串?
JavaScript提供了多种方法来检查字符串是否包含子字符串。在这篇文章中,我们将使用以下三种方法:
String search() 方法
String indexOf() 方法
String includes() 方法
让我们详细探讨每种方法。
1. String search() 方法
字符串 search 方法可用于在字符串中搜索文本(使用正则表达式)。
它将字符串与正则表达式匹配,并返回第一个匹配项的索引(位置)。
如果未找到匹配项,则返回 -1。区分大小写。
String search() 方法是 ES1 特性。所有浏览器都完全支持它。
语法
string.search(searchValue)
searchValue 是正则表达式或字符串(将被转换为正则表达式)。
示例
您可以尝试运行以下代码,以检查字符串“Tutorialspoint: Free Video Tutorial”是否包含子字符串“point”。我们将使用 string search() 方法。
<html> <head> <title>JavaScript String search() Method</title> </head> <body> <script> var re = "point"; var str = "Tutorialspoint: Free Video Tutorials"; if ( str.search(re) == -1 ) { document.write("Does not contain Point" ); } else { document.write("Contains Point!" ); } </script> </body> </html>
输出
这将产生以下结果:
Contains Point!"
2. String indexOf() 方法
String indexOf() 方法可用于检查字符串是否包含子字符串。
它返回字符串中值的第一次出现的位置(子字符串),否则如果未找到该值,则返回 -1。
String indexOf() 方法区分大小写。此方法不能针对正则表达式进行搜索。
String indexOf() 方法是 ES1 特性。所有浏览器都完全支持它。
语法
string.indexOf(searchvalue, start)
参数
searchValue - 要搜索的字符串。
Start - 开始搜索的索引(默认为 0)。这是一个可选参数。
示例
在下面的示例程序中,我们将使用 string indexOf() 方法来检查字符串“Tutorialspoint: Free Video Tutorial”是否包含子字符串“point”。
<html> <head> <title>JavaScript String search() Method</title> </head> <body> <script> var re = "point"; var str = "Tutorialspoint: Free Video Tutorials"; if ( str.indexOf(re) !== -1) { document.write("Contains "+ re ); } else { document.write("Does not contain "+ re); } </script> </body> </html>
输出
这将产生以下结果:
Contains point
3. String includes() 方法
String includes() 方法在 ES6 中引入。所有现代浏览器都支持它。
如果字符串包含指定的子字符串,则返回 true,否则返回 false。
includes() 方法区分大小写。Internet Explorer 11(或更早版本)不支持此方法。
语法
string.includes(searchvalue, start)
参数
searchValue - 要搜索的字符串。
Start - 开始搜索的索引(默认为 0)。这是一个可选参数。
示例
在下面的示例程序中,我们将使用 string includes() 方法来检查字符串“Tutorialspoint: Simply Easy Learning”是否包含子字符串“JavaScript”。
<html> <head> <title>JavaScript String search() Method</title> </head> <body> <script> var re = "JavaScript"; var str = "Tutorialspoint: Simply Easy Learning"; if ( str.includes(re)) { document.write("Contains "+ re ); } else { document.write("Does not contain "+ re); } </script> </body> </html>
输出
这将产生以下结果:
Does not contain JavaScript