如何在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 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告