首頁  >  文章  >  web前端  >  教你如何使用JavaScript正規表示式

教你如何使用JavaScript正規表示式

高洛峰
高洛峰原創
2016-11-26 13:18:071441瀏覽

主題:JavaScript正規表示式

定義正規表示式:

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

Var reg_pattern = /ad/ad/ad/ad/的正規表示式方法

名稱

說明

例子

Macth(regExp)

指定的正規表示式來搜尋字串,如果找到函數傳回一個數組,沒有找到返回Null

指定的正規表示式來搜尋字串,如果找到函數傳回一個數組,沒有找到傳回Null

. 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和回車字符之外的任何單個字符,等效於[^nr]

d

字符之外的任何單個字符,等效於[^nr]

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空白字符,包括空格,製表符、換頁符等,等效於[ftnr]

S

匹配任何非空白字符

b

重複次數(數量詞)

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

例如:

Var reg_pattern = /bo*/;

將匹配下面的各字串:

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 或多於 n 次。

表達式:

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

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

例如搜尋以」133” 開頭的手機電話的正規表示式:

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

邊界符:

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

不匹配任何字元

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

不匹配任何字元

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


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn