使用 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。希望本教程能幫助您澄清如何在給定文字中查詢數字。

更新於: 2022 年 8 月 26 日

658 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告