首頁 >web前端 >html教學 >使用JavaScript RegExp找出數字

使用JavaScript RegExp找出數字

WBOY
WBOY轉載
2023-09-04 19:01:141366瀏覽

使用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”用於執行多行匹配。

語法

The syntax for \d with a modifier like,

new RegExp("\d", "g") or simply /\d/g

演算法

  • 第 1 步 - 定義一個包含一些數字的字串。
  • 第 2 步 - 定義數字的 RegExp 模式。
  • 第 3 步 - 對上面定義的字串套用 match(pattern) 以尋找字串中的數字。
  • 第 4 步 - 顯示結果 - 數字。

讓我們看一些程式範例,以便更清楚地理解。

範例 1

在下面的程式中,我們使用字串匹配(模式)來尋找給定字串中的數字(\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。讓我們來看另一個例子。

範例 2

在下面的程式中,我們取得一個沒有數字的字串,並嘗試在該字串中尋找數字。我們使用字串匹配(模式)來查找給定字串中的數字(\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。希望本教程能夠澄清如何在給定文本中找到數字。

以上是使用JavaScript RegExp找出數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除