教你如何使用JavaScript正則表達式

主題:JavaScript正則表達式

定義正則表達式:

Var reg_pattern = new RegRxt(“a\d”); //意思是 a後面跟著有數字

Var reg_pattern = /a\d/ ;

String對象相關的正則表達式方法

名稱

說明

例子

Macth(regExp)

指定的正則表達式來搜索字符串,如果找到函數返回一個數組,沒有找到返回Null

test.html

Replacre(regExp,replaceText)

將原字符串中與正則表達式regExp匹配的子字符串全部替換為replaceText,返回新的字符串。

test.html

Search(regExp)

搜索字符串,與macth(regExp)不同的是,隻返回第一次匹配出現的位置索引,否則返回-1

字符類:

字符列表:在方括號內指定一個或者多個字符組成的字符列表,與字符列表中任意字符

匹配,都被認為是匹配的,例如 [abc],表示匹配a 或者 b 或者 c 中的任意一個。但每次匹配隻能匹配列表中的一個字符,而不是多個

反向列表:反向列表指匹配列表中指定字符以外的所有字符。反向列表通過在列表前加

“^” 符號進行定義。例如 [^abc] 表示匹配 a 、b 、c 字符以外的所有字符。

字符范圍:對於連續的字符列表,例如[1234567] 或者 [abcdefg] 這類,可以采用簡單

的方式表示,這種方式稱為字符范圍。字符范圍用 “-” 符號將起始字符與結束字

符連接起來,表示起始字符與結束字符之間的所有字符。例如:[a-z] 表示a~z之

間的全部小寫字符

反向范圍:在字符前面加上 ”^” 符號,則表示匹配該字符范圍以外的任意字符。

與定義字符類

字符類

含義

·

匹配除換行符\n和回車字符之外的任何單個字符,等效於[^\n\r]

\d

匹配一個數字字符,等效於[0-9]

\D

匹配一個非數字字符,等效於[^0-9]

\w

匹配包括下劃線的任何單個字符,包括A~Z,a~z,0~9和下滑線 ”_”,等效於[a-zA-Z0-9_]

\W

與\w互補,匹配任何非單個字符,等效於[^a-zA-Z0-9_]

\s

匹配任何Unicode空白字符,包括空格,制表符、換頁符等,等效於[\f\t\n\r]

\S

匹配任何非空白字符

\b

退格字符Backspace

重復次數(數量詞)

*:表示對前面表達式的匹配出現零次或多次

例如:

Var reg_pattern = /bo*/;

將匹配下面的各字符串:

b

bo

booo

+:表示對前面表達式的匹配連續出現一次或多次。

例如:

Var reg_pattern = /bo+/;

將匹配下面的各字符串:

bo

booo

{n}:n為非負整數。表示對前面表達式的匹配出現確定的 n 次。

例如:

Var reg_pattern = /bo{3}/;

隻能匹配”booo”。

{n,}:n為非負整數。表示對前面表達式的匹配至少出現 n 次,即出現 n 次

或者多於 n 次。

例如:

Var reg_pattern = /[A-Z]{3,}/g;

匹配連續出現的3 個或者多於3個的大寫字母。

{n,m}:n和m均為非負整數。其中 n < m。表示最少匹配 n 次且最多匹配 m 次。

或者多於 n 次。

表達式:

Var reg_pattern = /[A-Z]{3,5}/g;

匹配連續出現的3 到 5 個大寫字母。

例如搜索以 ”133” 開頭的手機電話的正則表達式:

Var reg_pattern= /133\d{8}/g;

邊界符:

^:表示字符串開始位置,在多行匹配中,表示一行的開始位置。符號本身並

不匹配任何字符

$:表示字符串結束位置,在多行匹配中,表示一行的結束位置。符號本身並

不匹配任何字符

\b:表示一個單詞(而非字符)邊界,也就是單詞和空格之間的位置,

作者:chow__zh

You May Also Like