使用 JavaScript 正則表示式查詢非數字字元


在本教程中,我們將學習如何使用 JavaScript 正則表示式查詢非數字字元。ASCII 碼 'A' 是 65,'a' 是 97 等。現在,我們將檢查如何使用 RegExp 在給定文字中查詢非數字元素 (\D)。

RegExp 是一個物件,它指定用於對字串執行搜尋和替換操作或進行輸入驗證的模式。RegExp 在 ES1 中引入,並被所有瀏覽器完全支援。

語法

非數字元素的語法為:

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 - 定義一個正則表示式以僅查詢數字。

步驟 3 - 執行字串和正則表示式之間的匹配。

步驟 4 - 顯示結果,即非數字字元。

示例

在下面的示例中,我們使用 JavaScript 中的 match() 方法和正則表示式查詢非數字字元。

<!DOCTYPE html>
<html>
<body>
   <h2>Finding non-digit characters</h2>
   <p>Non-digits characters:
      <p id = "result"></p>
   </p>
   <script>
      let text = "200 students qualified in the exam out of 250";
      let pattern = /\D/g;
      let result = text.match(pattern);
      document.getElementById("result").innerHTML=result;
   </script>
</body>
</html>

這裡,如果給定文字中存在非數字字元,則 match() 方法將返回非數字字元陣列,否則將返回 null。根據 match() 方法的輸出,我們可以執行操作。例如:

示例

在下面的示例中,我們定義了一個沒有任何非數字字元的字串,並嘗試在字串中查詢非數字字元。

<!DOCTYPE html>
<html>
<body>
   <h1>Finding non-digit element</h1>
   <p id = "result"></p>
   <script>
      let text = "200250";
      let pattern = /\D/g;
      let result = text.match(pattern);
      if(result == null){
         document.getElementById("result").innerHTML= "Sorry, No non-digits are found in the text";
      }else{
         document.getElementById("result").innerHTML= "Non-digit characters are: " + result;
      }
   </script>
</body>
</html>

例如,在輸入文字中沒有非數字字元。因此,如果執行該語句。如果輸入文字包含非數字字元,則將執行另一部分。

示例

現在,我們將檢查如何替換非數字字元。讓我們看一個例子

<!DOCTYPE html>
<html>
<body>
   <h1>Replace non-digit character(s)</h1>
   <p>After replacing non-digit character(s):
      <p id = "result"></p>
   </p>
   <script>
      let text = "200 students qualified in the exam out of 250";
      let pattern = /\D/g;
      let result = text.split(/\D/g).join(" ");
      document.getElementById("result").innerHTML=result;
   </script>
</body>
</html>

示例

我們還將檢查另一種替換非數字字元的方法。讓我們看一個例子

<!DOCTYPE html>
<html>
<body>
   <h1>Replace non-digit character(s)</h1>
   <p>After replacing non-digit character(s):
      <p id = "result"></p>
   </p>
   <script>
      let text = "200 students qualified in the exam out of 250";
      let pattern = /\D/g;
      let result = text.replace(/\D/g , " ");
      document.getElementById("result").innerHTML=result;
   </script>
</body>
</html>

正如我們所討論的,g 用於全域性匹配。它不會在第一次出現時停止,而是會查詢所有出現的情況。

希望本文能幫助您瞭解如何在 JavaScript 中使用 RegExp 查詢非數字字元。

更新於: 2022-12-08

2K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告