使用 JavaScript RegExp 查詢數字。
在本教程中,我們將瞭解如何使用 JavaScript RegExp 查詢數字 (0-9)。數字 [0-9] 的 ASCII 值從 48 到 57。如果要列印數字的任何 ASCII 值,則需要向該數字新增 48。
我們在正則表示式中將數字表示為 \d。RegExp 是一個物件,它指定用於對字串執行搜尋和替換操作或用於輸入驗證的模式。
語法
以下是數字或 \d 字元的正則表示式模式的語法:
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 - 為數字定義 RegExp 模式。
- 步驟 3 - 對上面定義的字串應用 match(pattern) 以查詢字串中的數字。
- 步驟 4 - 顯示結果 - 數字。
讓我們看一些程式示例,以便更清楚地理解。
示例 1
在下面的程式中,我們使用字串 match(pattern) 在給定字串中查詢數字 (\d)。我們將 RegExp 模式用作 /\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)。我們將 RegExp 模式用作 /\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。希望本教程能幫助您澄清如何在給定文字中查詢數字。