使用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月8日

2K+瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.