使用 JavaScript 正則表示式查詢非數字字元
在本教程中,我們將學習如何使用 JavaScript 正則表示式查詢非數字字元。ASCII 碼 'A' 是 65,'a' 是 97 等。現在,我們將檢查如何使用 RegExp 在給定文字中查詢非數字元素 (\D)。
RegExp 是一個物件,它指定用於對字串執行搜尋和替換操作或進行輸入驗證的模式。RegExp 在 ES1 中引入,並被所有瀏覽器完全支援。
語法
非數字元素的語法為:
new RegExp("\D") or simply /\D/
/\D/,在 ES1 中引入。它被所有瀏覽器完全支援。例如,Chrome、IE、Safari、Opera、FireFox 和 Edge。
RegExp 具有 g、i、m 等修飾符。“g”用於執行全域性匹配,“i”用於執行不區分大小寫的匹配,“m”用於執行多行匹配。
帶有修飾符的 \D 語法,例如:
new RegExp("\D", "g") or simply /\D/g
查詢非數字字元的步驟
步驟 1 - 定義一個包含一些非數字字元的字串。
步驟 2 - 定義一個正則表示式以僅查詢數字。
步驟 3 - 執行字串和正則表示式之間的匹配。
步驟 4 - 顯示結果,即非數字字元。
示例
在下面的示例中,我們使用 JavaScript 中的 match() 方法和正則表示式查詢非數字字元。
<!DOCTYPE html> <html> <body> <h2>Finding non-digit characters</h2> <p>Non-digits characters: <p id = "result"></p> </p> <script> let text = "200 students qualified in the exam out of 250"; let pattern = /\D/g; let result = text.match(pattern); document.getElementById("result").innerHTML=result; </script> </body> </html>
這裡,如果給定文字中存在非數字字元,則 match() 方法將返回非數字字元陣列,否則將返回 null。根據 match() 方法的輸出,我們可以執行操作。例如:
示例
在下面的示例中,我們定義了一個沒有任何非數字字元的字串,並嘗試在字串中查詢非數字字元。
<!DOCTYPE html> <html> <body> <h1>Finding non-digit element</h1> <p id = "result"></p> <script> let text = "200250"; let pattern = /\D/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML= "Sorry, No non-digits are found in the text"; }else{ document.getElementById("result").innerHTML= "Non-digit characters are: " + result; } </script> </body> </html>
例如,在輸入文字中沒有非數字字元。因此,如果執行該語句。如果輸入文字包含非數字字元,則將執行另一部分。
示例
現在,我們將檢查如何替換非數字字元。讓我們看一個例子
<!DOCTYPE html> <html> <body> <h1>Replace non-digit character(s)</h1> <p>After replacing non-digit character(s): <p id = "result"></p> </p> <script> let text = "200 students qualified in the exam out of 250"; let pattern = /\D/g; let result = text.split(/\D/g).join(" "); document.getElementById("result").innerHTML=result; </script> </body> </html>
示例
我們還將檢查另一種替換非數字字元的方法。讓我們看一個例子
<!DOCTYPE html> <html> <body> <h1>Replace non-digit character(s)</h1> <p>After replacing non-digit character(s): <p id = "result"></p> </p> <script> let text = "200 students qualified in the exam out of 250"; let pattern = /\D/g; let result = text.replace(/\D/g , " "); document.getElementById("result").innerHTML=result; </script> </body> </html>
正如我們所討論的,g 用於全域性匹配。它不會在第一次出現時停止,而是會查詢所有出現的情況。
希望本文能幫助您瞭解如何在 JavaScript 中使用 RegExp 查詢非數字字元。