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