JavaScript - RegExp test 方法



JavaScript 的 RegExp.test() 方法測試給定字串是否與正則表示式定義的指定模式匹配。如果找到匹配項,則返回布林值 'true';否則,返回 'false' 值。

在 JavaScript 中,正則表示式 (RegExp) 是一個描述用於定義搜尋模式的字元序列的物件。

語法

以下是 JavaScript RegExp.test() 方法的語法:

RegExp.test(str)

引數

此方法接受一個名為“str”的引數,如下所述:

  • str − 我們想要在其中搜索匹配項的字串。

返回值

如果在正則表示式和字串之間找到匹配項,則此方法返回“true”,否則返回“false”。

示例

如果找到匹配項,它將返回 'true'

示例 1

在下面的程式中,我們使用 JavaScript RegExp.test() 方法來測試字串是否與該字串 "Hello World" 內正則表示式定義的指定模式 ("\Hello*") 匹配。

<html>
<head>
   <title>JavaScript RegExp.test() Method</title>
</head>
<body>
   <script>
      const str = "Hello World";
      const regex = new RegExp("\Hello*");
      document.write("The given string: ", str);
      document.write("<br>The regex: ", regex);
      let bool = regex.test(str);
      document.write("<br>Does the match found? ", bool);    
   </script>
</body>
</html>

輸出

上述程式返回 'true'。

The given string: Hello World
The regex: /Hello*/
Does the match found? true

示例 2

如果沒有找到匹配項,它將返回 'false'

以下是 JavaScript RegExp.test() 方法的另一個示例。我們使用此方法來測試字串是否與該字串 "JavaScript Regular Expression" 內正則表示式定義的指定模式 ("\html*", 'g') 匹配。

<html>
<head>
   <title>JavaScript RegExp.test() Method</title>
</head>
<body>
   <script>
      const str = "JavaScript Regular Expression";
      const regex = new RegExp("\html*", 'g');
      document.write("The given string: ", str);
      document.write("<br>The regex: ", regex);
      let bool = regex.test(str);
      document.write("<br>Does the match found? ", bool);    
   </script>
</body>
</html>

輸出

執行上述程式後,它將返回 'false'。

The given string: JavaScript Regular Expression
The regex: /html*/g
Does the match found? false

示例 3

在帶有全域性標誌 "g" 的正則表示式上使用 RegExp.test() 方法。

在下面的示例中,我們使用 JavaScript RegExp.test() 方法來測試手機號碼 "8429618353""9511277492s" 是否有效。

<html>
<head>
   <title>JavaScript RegExp.test() Method</title>
</head>
<body>
   <script>
      const mob1 = "8429618353";
      const mob2 = "9511277492s";
      var regex = new RegExp("^[0-9]{10}$", "g");
      document.write("The given mobile numbers are : ", mob1 , " and ", mob2);
      document.write("<br>The regex: ", regex);
      let bool1 = regex.test(mob1);
      let bool2 = regex.test(mob2);
      document.write("<br>Does mobile number ", mob1, " is valid? ", bool1);
      document.write("<br>Does mobile number ", mob2, " is valid? ", bool2);   
   </script>
</body>
</html>

輸出

執行上述程式後,它將顯示以下語句:

The given mobile numbers are : 8429618353 and 9511277492s
The regex: /^[0-9]{10}$/
Does mobile number 8429618353 is valid? true
Does mobile number 9511277492s is valid? false
廣告