JavaScript 正則表示式 - 快速指南



JavaScript 正則表示式 - 概述

正則表示式是一個描述字元模式的物件。

JavaScript 的 RegExp 類表示正則表示式,並且 String 和 RegExp 都定義了使用正則表示式對文字執行強大的模式匹配和搜尋替換功能的方法。

語法

正則表示式可以使用 RegExp () 建構函式定義,如下所示:

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

以下是引數的描述:

  • pattern - 指定正則表示式模式的字串或另一個正則表示式。

  • attributes - 一個可選的字串,包含任何“g”、“i”和“m”屬性,分別指定全域性、不區分大小寫和多行匹配。

示例

以下示例顯示了 RegExp 用於檢查字串是否存在於給定文字中的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         var result = re.test(str);
         document.write("Test 1 - returned value : " +  result); 
         
         re = new RegExp( "pushing", "g" );
         
         var result = re.test(str);
         document.write("<br />Test 2 - returned value : " +  result); 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : true
Test 2 - returned value : false 

JavaScript 正則表示式 - [...]

描述

[...] 檢查搜尋字串中是否存在方括號之間的任何一個字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 			 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : null
Test 2 - returned value : e,c,d 

JavaScript 正則表示式 - [^...]

描述

[^...] 檢查搜尋字串中是否存在方括號之間的任何一個字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[^abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : f,i,r,s,t
Test 2 - returned value : s,o,n 

JavaScript 正則表示式 - [0-9]

描述

[0-9] 匹配 0 到 9 之間的任何十進位制數字。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[0-9]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "2nd";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : null
Test 2 - returned value : 2 

JavaScript 正則表示式 - [a-z]

描述

[a-z] 匹配從小寫 a 到小寫 z 的任何字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[a-z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "Second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : f,i,r,s,t
Test 2 - returned value : e,c,o,n,d 

JavaScript 正則表示式 - [A-Z]

描述

[A-Z] 匹配從大寫 A 到大寫 Z 的任何字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[A-Z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "Second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : null
Test 2 - returned value : S

JavaScript 正則表示式 - [a-zA-Z]

描述

[a-zA-Z] 匹配從小寫 a 到大寫 Z 的任何字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first1";
         var pattern = /[a-zA-Z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "Second2";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : f,i,r,s,t
Test 2 - returned value : S,e,c,o,n,d

JavaScript 正則表示式 - p+

描述

p+ 匹配包含一個或多個 p 的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p+/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript 正則表示式 - p*

描述

p* 匹配包含零個或多個 p 的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p*/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : ,,,pp,
Test 2 - returned value : ,,,

JavaScript 正則表示式 - p?

描述

p? 匹配包含零個或多個 p 的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p?/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : ,,,p,p,
Test 2 - returned value : ,,,

JavaScript 正則表示式 - p{N}

描述

p{N} 匹配包含 N 個 p 序列的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p{2}/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abcp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript 正則表示式 - p{N1, N2}

描述

p{N1, N2} 匹配包含 N1 或 N2 個 p 序列的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p{2,3}/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abcp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript 正則表示式 - p{N,}

描述

p{N,} 匹配包含至少 N 個 p 序列的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p{2,}/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abcp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript 正則表示式 - p$

描述

p$ 匹配在末尾包含 p 的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p$/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : p
Test 2 - returned value : null

JavaScript 正則表示式 - ^p

描述

^p 匹配在開頭包含 p 的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "pabc";
         var pattern = /^p/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : p
Test 2 - returned value : null

JavaScript 正則表示式 - [^a-zA-Z]

描述

[^a-zA-Z] 匹配任何不包含從 a 到 z 和 A 到 Z 的字元的字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "1323pabc";
         var pattern = /[^a-zA-Z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 1,3,2,3
Test 2 - returned value : null

JavaScript 正則表示式 - p.p

描述

p.p 匹配包含 p、後跟任何字元,然後再次後跟 p 的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "pap";
         var pattern = /p.p/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "pp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : pap
Test 2 - returned value : null

JavaScript 正則表示式 - ^.{2}$

描述

^.{2}$ 匹配恰好包含兩個字元的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "pa";
         var pattern = /^.{2}$/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "pap";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : pa
Test 2 - returned value : null

JavaScript 正則表示式 - <b>(.*)</b>

描述

<b>(.*)</b> 匹配包含在 <b> 和 </b> 之間的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "<b>ab</b>";
         var pattern = /<b>(.*)<\/b>/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "pap";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : ab
Test 2 - returned value : null

JavaScript 正則表示式 - p(hp)*

描述

p(hp)* 匹配包含 p 後跟零個或多個 hp 序列的任何字串。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "phphp";
         var pattern = /p(hp)*/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "pap";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : phphp
Test 2 - returned value : p,p

JavaScript 正則表示式 - 字母數字

描述

字母數字匹配自身。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab1";
         var pattern = /abc/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : null
Test 2 - returned value : abc

JavaScript 正則表示式 - \0

描述

\0 匹配 NUL 字元 (\u0000)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\0c";
         var pattern = /\0/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \t

描述

\t 匹配製表符 (\u0009)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\tc";
         var pattern = /\t/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \n

描述

\n 匹配換行符 (\u00A)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\nc";
         var pattern = /\n/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \v

描述

\v 匹配垂直製表符 (\u00B)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\vc";
         var pattern = /\v/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \f

描述

\f 匹配換頁符 (\u00C)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\fc";
         var pattern = /\f/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \r

描述

\r 匹配回車符 (\u00D)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\rc";
         var pattern = /\r/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \xnn

描述

\xnn 匹配由十六進位制數 nn 指定的拉丁字元;例如,\x0A 與 \n 相同。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\x0Ac";
         var pattern = /\x0A/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - \uxxxx

描述

\uxxxx 匹配由十六進位制數 xxxx 指定的 Unicode 字元;例如,\u0009 與 \t 相同。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
		 var str = "ab\u0009c";
         var pattern = /\u0009/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index); 

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript 正則表示式 - .

描述

. 匹配單個字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abc";
         var pattern = /./g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : a,b,c
Test 2 - returned value : null

JavaScript 正則表示式 - \s

描述

\s 匹配空格字元(空格、製表符、換行符)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "ab c";
         var pattern = /\s/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value :  
Test 2 - returned value : null

JavaScript 正則表示式 - \S

描述

\S 匹配非空格字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "ab c";
         var pattern = /\S/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : a,b,c
Test 2 - returned value : null

JavaScript 正則表示式 - \d

描述

\d 匹配數字(0-9)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "ab123c";
         var pattern = /\d/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : 1,2,3
Test 2 - returned value : null

JavaScript 正則表示式 - \D

描述

\D 匹配非數字。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "ab123c";
         var pattern = /\D/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : a,b,c
Test 2 - returned value : a,b,c

JavaScript 正則表示式 - \w

描述

\w 匹配單詞字元(a-z、A-Z、0-9、_)。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "ab123c_#@";
         var pattern = /\w/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc bcd";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : a,b,1,2,3,c,_
Test 2 - returned value : a,b,c,b,c,d

JavaScript 正則表示式 - \W

描述

\w 匹配非單詞字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "ab123c_#@";
         var pattern = /\W/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "abc bcd";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : #,@
Test 2 - returned value :

JavaScript 正則表示式 - [aeiou]

描述

[aeiou] 匹配給定集合中的單個字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first alphabet";
         var pattern = /[abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 			 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : a,a,b,e
Test 2 - returned value : e,c,d

JavaScript 正則表示式 - [^aeiou]

描述

[^aeiou] 匹配給定集合之外的單個字元。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "first alphabet";
         var pattern = /[^abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 			 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : f,i,r,s,t, ,l,p,h,t
Test 2 - returned value : s,o,n

JavaScript 正則表示式 - (foo|bar|baz)

描述

(foo|bar|baz) 匹配指定的任何備選方案。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "foo abc";
         var pattern = /(foo|bar|baz)/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         str = "bar baz";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 			 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : foo
Test 2 - returned value : bar,baz

JavaScript 正則表示式 - i

描述

i 執行不區分大小寫的匹配。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcABC";
         var pattern = /[aeiou]/ig;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         pattern = /[aeiou]/g;
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : a,A
Test 2 - returned value : a

JavaScript 正則表示式 - g

描述

g 執行全域性匹配,即查詢所有匹配項,而不是在第一次匹配後停止。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "abcabcabc";
         var pattern = /abc/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result); 

         pattern = /abc/;
		 result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result); 	 		 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : abc,abc,abc
Test 2 - returned value : abc

JavaScript 正則表示式 - constructor

描述

它返回對建立例項原型的陣列函式的引用。

語法

其語法如下:

RegExp.constructor

返回值

返回建立此物件例項的函式。

示例

以下示例顯示了 RegExp 表示式的用法。

<html>   
   <head>
      <title>JavaScript RegExp constructor Property</title>
   </head>
   
   <body>      
      <script type = "text/javascript">
         var re = new RegExp( "string" );
         document.write("re.constructor is:" + re.constructor); 
      </script>      
   </body>
</html>

輸出

re.constructor is: function RegExp() { [native code] } 

JavaScript 正則表示式 - global

描述

global 是 RegExp 物件的只讀布林屬性。它指定特定的正則表示式是否執行全域性匹配,即它是否使用“g”屬性建立。

語法

其語法如下:

RegExpObject.global

返回值

如果設定了“g”修飾符,則返回“TRUE”,否則返回“FALSE”。

示例

<html>   
   <head>
      <title>JavaScript RegExp global Property</title>
   </head>
   
   <body>      
      <script type = "text/javascript">
         var re = new RegExp( "string" );
         
         if ( re.global ) {
            document.write("Test1 - Global property is set"); 
         } else {
            document.write("Test1 - Global property is not set"); 
         }
         re = new RegExp( "string", "g" );
         
         if ( re.global ) {
            document.write("<br />Test2 - Global property is set"); 
         } else {
            document.write("<br />Test2 - Global property is not set"); 
         }
      </script>   
   </body>
</html>

輸出

Test1 - Global property is not set
Test2 - Global property is set

JavaScript 正則表示式 - ignoreCase

描述

ignoreCase 是 RegExp 物件的只讀布林屬性。它指定特定的正則表示式是否執行不區分大小寫的匹配,即它是否使用“i”屬性建立。

語法

其語法如下:

RegExpObject.ignoreCase

返回值

如果設定了“i”修飾符,則返回“TRUE”,否則返回“FALSE”。

示例

<html>   
   <head>
      <title>JavaScript RegExp ignoreCase Property</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var re = new RegExp( "string" );
        
         if ( re.ignoreCase ) {
            document.write("Test1-ignoreCase property is set"); 
         } else {
            document.write("Test1-ignoreCase property is not set"); 
         }
         re = new RegExp( "string", "i" );
        
         if ( re.ignoreCase ) {
            document.write("<br/>Test2-ignoreCase property is set"); 
         } else {
            document.write("<br/>Test2-ignoreCase property is not set"); 
         }
      </script>      
   </body>
</html>

輸出

Test1 - ignoreCase property is not set
Test2 - ignoreCase property is set 

JavaScript 正則表示式 - lastIndex

描述

lastIndex 是 RegExp 物件的讀寫屬性。對於設定了“g”屬性的正則表示式,它包含一個整數,該整數指定 RegExp.exec()RegExp.test() 方法找到的最後一個匹配項之後的字元位置。這些方法使用此屬性作為它們執行的下一個搜尋的起點。

此屬性允許您重複呼叫這些方法,以迴圈遍歷字串中的所有匹配項,並且僅在設定了“g”修飾符時才有效。

此屬性是讀寫屬性,因此您可以隨時設定它以指定下一個搜尋應從目標字串中的哪個位置開始。exec()test() 在無法找到匹配項(或其他匹配項)時會自動將 lastIndex 重置為 0。

語法

其語法如下:

RegExpObject.lastIndex

返回值

返回一個整數,該整數指定最後一個匹配項之後的字元位置。

示例

<html>
   <head>
      <title>JavaScript RegExp lastIndex Property</title>
   </head>
   
   <body>      
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         re.test(str);
         document.write("Test 1 - Current Index: " +  re.lastIndex); 
         
         re.test(str);
         document.write("<br />Test 2 - Current Index: " + re.lastIndex); 
      </script>      
   </body>
</html>

輸出

Test 1 - Current Index: 10
Test 2 - Current Index: 35 

JavaScript 正則表示式 - multiline

描述

multiline 是 RegExp 物件的只讀布林屬性。它指定特定的正則表示式是否執行多行匹配,即它是否使用“m”屬性建立。

語法

其語法如下:

RegExpObject.multiline

返回值

如果設定了“m”修飾符,則返回“TRUE”,否則返回“FALSE”。

示例

<html>   
   <head>
      <title>JavaScript RegExp multiline Property</title>
   </head>
   
   <body>      
      <script type = "text/javascript">
         var re = new RegExp( "string" );
         
         if ( re.multiline ) {
            document.write("Test1-multiline property is set"); 
         } else {
            document.write("Test1-multiline property is not set"); 
         }
         re = new RegExp( "string", "m" );
         
         if ( re.multiline ) {
            document.write("<br/>Test2-multiline property is set"); 
         } else {
            document.write("<br/>Test2-multiline property is not set"); 
         }
      </script>      
   </body>
</html>

輸出

Test1 - multiline property is not set
Test2 - multiline property is set

JavaScript 正則表示式 - source

描述

source 是 RegExp 物件的只讀字串屬性。它包含 RegExp 模式的文字。此文字不包括正則表示式字面量中使用的分隔符斜槓,也不包括“g”、“i”和“m”屬性。

語法

其語法如下:

RegExpObject.source

返回值

返回用於模式匹配的文字。

示例

<html>   
   <head>
      <title>JavaScript RegExp source Property</title>
   </head>
   
   <body>      
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         re.test(str);
         document.write("The regular expression is : " +  re.source); 
      </script>      
   </body>
</html>

輸出

The regular expression is : script 

JavaScript 正則表示式 - exec

描述

exec 方法在字串中搜索與 regexp 匹配的文字。如果找到匹配項,則返回結果陣列;否則,返回 null。

語法

其語法如下:

RegExpObject.exec( string );

引數詳細資訊

string - 要搜尋的字串

返回值

如果找到匹配項,則返回匹配的文字,否則返回 null。

示例

<html>
   <head>
      <title>JavaScript RegExp exec Method</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         var result = re.exec(str);
         document.write("Test 1 - returned value : " +  result); 
         
         re = new RegExp( "pushing", "g" );
         
         var result = re.exec(str);
         document.write("<br />Test 2 - returned value : " +  result); 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : script
Test 2 - returned value : null 

JavaScript 正則表示式 - test

描述

test 方法在字串中搜索與 regexp 匹配的文字。如果找到匹配項,則返回 true;否則,返回 false。

語法

其語法如下:

RegExpObject.test( string );

引數詳細資訊

string - 要搜尋的字串

返回值

如果找到匹配項,則返回匹配的文字,否則返回 null。

示例

<html>
   <head>
      <title>JavaScript RegExp test Method</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         var result = re.test(str);
         document.write("Test 1 - returned value : " +  result); 
         
         re = new RegExp( "pushing", "g" );
         
         var result = re.test(str);
         document.write("<br />Test 2 - returned value : " +  result); 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : true
Test 2 - returned value : false 

JavaScript 正則表示式 - toSource

描述

toSource 方法字串表示物件的原始碼。此方法並非所有瀏覽器都支援。

此方法並非所有瀏覽器都支援。

語法

其語法如下:

RegExpObject.toSource();

返回值

返回表示物件原始碼的字串。

示例

嘗試以下示例程式。

<html>
   <head>
      <title>JavaScript RegExp toSource Method</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         var result = re.toSource(str);
         document.write("Test 1 - returned value : " +  result); 
         
         re = new RegExp( "/", "g" );
         
         var result = re.toSource(str);
         document.write("<br />Test 2 - returned value : " +  result); 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : /script/g
Test 2 - returned value : /\//g

JavaScript 正則表示式 - toString

描述

toString 方法返回正則表示式的字串表示形式,其形式為正則表示式字面量。

語法

其語法如下:

RegExpObject.toString();

返回值

返回正則表示式的字串表示形式。

示例

<html>
   
   <head>
      <title>JavaScript RegExp toString Method</title>
   </head>
   
   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         
         var result = re.toString(str);
         document.write("Test 1 - returned value : " +  result); 
         
         re = new RegExp( "/", "g" );
         
         var result = re.toString(str);
         document.write("<br />Test 2 - returned value : " +  result); 
      </script>
   </body>
</html>

輸出

Test 1 - returned value : /script/g
Test 2 - returned value : /\//g
廣告