????????????????????????????????????????正則表達(dá)式
專門用來(lái)檢測(cè)字符串是否符合“規(guī)則” 使用的
1、創(chuàng)建一個(gè)正則表達(dá)式
字面量創(chuàng)建:var reg = /abcdefg/
構(gòu)造函數(shù)創(chuàng)建:var reg = new RegExp('abcdefg')
2僻族、正則表達(dá)式里面的符號(hào)
元字符
. :匹配非換行的任意字符
\ :轉(zhuǎn)譯符號(hào)芙沥,把有意義的符號(hào)轉(zhuǎn)換成沒(méi)有意義的字符镇防,把沒(méi)有意義的字符轉(zhuǎn)換成有意義的符號(hào)
\s:匹配空白字符(空格/制表符/...)
\S:匹配非空白字符
\d :匹配數(shù)字
\D:匹配非數(shù)字
\w:匹配數(shù)字字母下劃線
\W:匹配非數(shù)字字母下劃線
限定符
*:前一個(gè)內(nèi)容重復(fù)至少0 次歉铝,也就是可以出現(xiàn) 0 ~ 正無(wú)窮 次
+ :前一個(gè)內(nèi)容重復(fù)至少1 次拧额,也就是可以出現(xiàn) 1 ~ 正無(wú)窮 次
?:前一個(gè)內(nèi)容重復(fù)0 或者 1 次宿亡,也就是可以出現(xiàn) 0 ~ 1 次
{n}:前一個(gè)內(nèi)容重復(fù)n 次常遂,也就是必須出現(xiàn) n 次
{n,}:前一個(gè)內(nèi)容至少出現(xiàn)n 次,也就是出現(xiàn) n ~ 正無(wú)窮 次
{n,m}:前一個(gè)內(nèi)容至少出現(xiàn)n 次至多出現(xiàn) m 次挽荠,也就是出現(xiàn) n ~ m 次
邊界符
^:表示開(kāi)頭
$:表示結(jié)尾
特殊符號(hào)
():限定一組元素
[]:字符集合克胳,表示寫(xiě)在[]里面的任意一個(gè)都行
[^]:反字符集合,表示寫(xiě)在[^]里面之外的任意一個(gè)都行
-:范圍圈匆,比如a-z表示從字母a 到字母 z 都可以
|:或漠另,正則里面的或a|b表示字母a 或者 b 都可以
標(biāo)示符
i :表示忽略大小寫(xiě)
這個(gè)i是寫(xiě)在正則的最后面的
/\w/i
就是在正則匹配的時(shí)候不去區(qū)分大小寫(xiě)
g:表示全局匹配
這個(gè)g 是寫(xiě)在正則的最后面的
/\w/g
就是全局匹配字母數(shù)字下劃線
3、正則表達(dá)式的方法
test
test是用來(lái)檢測(cè)字符串是否符合我們正則的標(biāo)準(zhǔn)
語(yǔ)法:正則.test(字符串)
返回值:boolean
exec
exec是把字符串中符合條件的內(nèi)容捕獲出來(lái)
語(yǔ)法:正則.exec(字符串)
返回值:把字符串中符合正則要求的第一項(xiàng)以及一些其他信息跃赚,以數(shù)組的形式返回
4笆搓、字符串的方法
search
search是查找字符串中是否有滿足正則條件的內(nèi)容
語(yǔ)法:字符串.search(正則)
返回值:有的話返回開(kāi)始索引,沒(méi)有返回-1
match
match找到字符串中符合正則條件的內(nèi)容返回
語(yǔ)法:字符串.match(正則)
返回值:
沒(méi)有標(biāo)示符g 的時(shí)候纬傲,是和 exec 方法一樣
有標(biāo)示符g 的時(shí)候满败,是返回一個(gè)數(shù)組,里面是匹配到的每一項(xiàng)
replace
replace是將字符串中滿足正則條件的字符串替換掉
語(yǔ)法:字符串.replace(正則叹括,要替換的字符串)
返回值:替換后的字符串