如何在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

更新于:2022年4月20日

750 次查看

启动您的职业生涯

完成课程获得认证

开始学习
广告