JavaScript 中 '/i' 標誌的重要性是什麼?


讓我們先了解一下正則表示式,然後再深入瞭解 I 標誌。建立搜尋模式的一串字元稱為正則表示式。搜尋模式可以應用於文字替換和搜尋操作。正則表示式可以是一個簡單的單字母模式,也可以是一個更復雜的模式。可以使用正則表示式執行各種文字搜尋和替換操作。

建立 RegExp 物件的兩種方法是字面量表示法和建構函式。

  • 字面量表示法包括兩個斜線之間的模式,以及第二個斜線之後可選的標誌。在 JavaScript 中,您可以使用花括號 {} 來宣告物件。花括號 {} 是物件字面量語法,這意味著以這種方式寫出新物件稱為構造物件字面量。每當正則表示式保持不變時,使用字面量表示法至關重要。例如,不建議在迴圈中使用字面量表示法。

  • 建構函式的第二個引數是一個可選標誌字串,它接受字串或 RegExp 物件作為第一個引數。建構函式的使用允許程式設計師在 JavaScript 中編寫正則表示式。此方法接受以字串形式作為函式引數的正則表示式。從 ECMAScript 6 開始,建構函式現在可以接受來自正則表示式的字面量。當編寫其模式在執行過程中會發生變化的正則表示式時,最好使用建構函式。

您可以使用模式修飾符來控制模式匹配的處理方式。模式修飾符新增到正則表示式之後;例如,您可以使用 I 修飾符來忽略大小寫搜尋模式,方法是鍵入 /pattern/i。

正則表示式的 I 標誌根據 ignoreCase 屬性的使用情況而使用或不使用。特定正則表示式型別的只讀屬性 ignoreCase。

如果使用了 I 標誌,則 ignoreCase 值將為 true;否則,它將為 false。為了在字串中找到匹配項,I 標誌指示必須忽略大小寫。

對於字串中的不區分大小寫的匹配,JavaScript 使用 RegExp I 修飾符。

語法

以下是 Javascript 中“/I”標誌的語法

/regexp/i

或者

new RegExp("regexp", "i")

示例 1

讓我們看看在這個示例中 I 修飾符是如何工作的,以演示不區分大小寫的匹配。

<!DOCTYPE html> <html> <title>What is the importance of '/i' flag in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div id="result"></div> <script> let siteTitle = "Visit Tutorialspoint to know more about coding"; let regExp = /Tutorialspoint/i; let matchResult = siteTitle.match(regExp); document.getElementById("result").innerHTML = matchResult; </script> </body> </html>

示例 2

在這個例子中,讓我們瞭解一下 ignoreCase 的用法。如果使用了 I 標誌,ignoreCase 值將為 true;否則,它將為 false。為了在字串中找到匹配項,I 標誌指示應忽略大小寫。

此屬性不可直接編輯。

<!DOCTYPE html> <html> <title>What is the importance of '/i' flag in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div id="result"></div> <script> let regIgno = new RegExp('tutorialspoint', 'i'); document.getElementById("result").innerHTML =regIgno.ignoreCase; </script> </body> </html>

示例 3

當正則表示式不能是動態的時(例如,當涉及使用者定義的表示式時),通常使用前者;而後者則在正則表示式保持不變時使用。您可以透過傳遞 I 標誌來指示正則表示式執行不區分大小寫的替換 -

<!DOCTYPE html> <html> <title>What is the importance of '/i' flag in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <script> const regExp = /JavaScript/i; let origString = 'Tutorialspoint is the best platform for JavaScript developers.'; let newString = origString.replace(regExp, 'React Js'); document.write(origString +"<br>"); document.write(newString); </script> </body> </html>

示例 4

在這個例子中,讓我們瞭解如何使用 RegExp 函式 test()

<!DOCTYPE html> <html> <title>What is the importance of '/i' flag in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div id="result"></div> <script> let siteTitle = "Visit Tutorialspoint"; let regExp = /Tutorialspoint/i; let testResult = regExp.test(siteTitle); document.getElementById("result").innerHTML = testResult; </script> </body> </html>

更新於:2022年8月4日

352 次檢視

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.