使用JavaScript正則表示式查詢數字。
在本教程中,我們將學習如何使用JavaScript正則表示式查詢數字(0-9)。數字[0-9]的ASCII值從48到57。如果要列印數字的任何ASCII值,需要加上48。
我們在正則表示式中將數字表示為\d。正則表示式是一個物件,它指定用於對字串執行搜尋和替換操作或進行輸入驗證的模式。
語法
以下是數字或\d字元的正則表示式模式的語法:
new RegExp("\d") or simply /\d/
/\d/ 在ES1中引入。所有瀏覽器都完全支援它,例如Chrome、IE、Safari、Opera、Firefox和Edge。
正則表示式具有修飾符,例如g、i、m。“g”用於執行全域性匹配,“i”用於執行不區分大小寫的匹配,“m”用於執行多行匹配。
語法
帶有修飾符的\d語法,例如:
new RegExp("\d", "g") or simply /\d/g
演算法
- 步驟1 - 定義一個包含一些數字的字串。
- 步驟2 - 為數字定義正則表示式模式。
- 步驟3 - 在上面定義的字串上應用match(pattern)來查詢字串中的數字。
- 步驟4 - 顯示結果 - 數字。
讓我們來看一些程式示例,以便更好地理解。
示例1
在下面的程式中,我們使用字串match(pattern)在給定的字串中查詢數字(\d)。我們將正則表示式模式用作/\d/g。字串match()方法返回字串中數字的陣列。
<!DOCTYPE html> <html> <body> <h2>RegExp digit finding</h2> <p id="text"> </p> <p>Digit(s): <span id = "result"></span> </p> <script> let text = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = text; let pattern = /\d/g; let result = text.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>
這裡,如果給定文字中存在數字,則match()方法將返回一個數字陣列,否則將返回null。讓我們看另一個例子。
示例2
在下面的程式中,我們取一個沒有數字的字串,並嘗試在字串中查詢數字。我們使用字串match(pattern)在給定的字串中查詢數字(\d)。我們將正則表示式模式用作/\d/g。看看我們的輸出是什麼樣的。
<!DOCTYPE html> <html> <body> <h2>Finding digits using RegExp</h2> <p id = "result"></p> <script> let text = "All students are qualified for the test"; let pattern = /\d/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "No digits found in the text."; } else { document.getElementById("result").innerHTML = result; } </script> </body> </html>
示例3
在下面的程式中,我們搜尋2到7之間的數字。為此,我們使用/[2-7]/g作為正則表示式模式。
<!DOCTYPE html> <html> <body> <h2>RegExp digit finding</h2> <p id = "text"></p> <p>Digit(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /[2-7]/g; let result = myStr.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>
我們可以透過多種方式替換數字字元。讓我們看下面的例子
示例4
查詢和替換數字
在下面的示例中,我們查詢並用空格字元替換數字。為此,我們使用split()和join()方法。
<!DOCTYPE html> <html> <body> <h2>Replace digit character(s)</h2> <p id = "text"></p> <p>After replacing the digit character(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /\d/g; let result = myStr.split(/\d/g).join(" ") document.getElementById("result").innerHTML = result; </script> </body> </html>
示例5
我們還將檢查以更簡單的方式替換數字字元。例如:
<!DOCTYPE html> <html> <body> <h2>Replace digit character</h2> <p id = "text"></p> <p>After replacing the digit character(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /\d/g; let result = myStr.replace(/\d/g , " ") document.getElementById("result").innerHTML = result; </script> </body> </html>
正如我們所討論的,g表示全域性匹配。它不會在第一次出現時停止,而是會查詢所有出現。
在這裡,我們可以觀察到文字中沒有數字。因此,match()將返回null。希望本教程能闡明在給定文字中查詢數字的方法。