在本教學中,我們將了解如何使用 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”用於執行多行匹配。
The syntax for \d with a modifier like,
new RegExp("\d", "g") or simply /\d/g
讓我們看一些程式範例,以便更清楚地理解。
在下面的程式中,我們使用字串匹配(模式)來尋找給定字串中的數字(\d)。我們使用 RegExp 模式作為 /\d/g。 string 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。讓我們來看另一個例子。
在下面的程式中,我們取得一個沒有數字的字串,並嘗試在該字串中尋找數字。我們使用字串匹配(模式)來查找給定字串中的數字(\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>
在下面的程式中,我們搜尋 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>
我們可以使用一些方法來替換數字字元。讓我們看下面的例子
尋找並取代數字
在下面的範例中,我們會尋找數字並將其替換為空格字元。為此,我們使用 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>
我們也會檢查以更簡單的方式替換數字字元。就像,
<!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。希望本教程能夠澄清如何在給定文本中找到數字。
以上是使用JavaScript RegExp找出數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!