JavaScript? 正則表達(dá)式
正則語法:
? ? $? ? ?匹配輸入字符串的結(jié)尾位置喇澡。如果設(shè)置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,請使用 \$司光。
? ? ( )? ? 標(biāo)記一個子表達(dá)式的開始和結(jié)束位置。子表達(dá)式可以獲取供以后使用悉患。要匹配這些字符飘庄,請使用 \( 和 \)。
? ? *? ? ?匹配前面的子表達(dá)式零次或多次购撼。要匹配 * 字符,請使用 \*谴仙。
? ? +? ? 匹配前面的子表達(dá)式一次或多次迂求。要匹配 + 字符,請使用 \+晃跺。
? ? .? ? ?匹配除換行符 \n 之外的任何單字符揩局。要匹配 . ,請使用 \. 掀虎。
? ? [? ? ?標(biāo)記一個中括號表達(dá)式的開始凌盯。要匹配 [,請使用 \[烹玉。
? ? ?? ? ?匹配前面的子表達(dá)式零次或一次驰怎,或指明一個非貪婪限定符。要匹配 ? 字符二打,請使用 \?县忌。
? ? \? ? ? 將下一個字符標(biāo)記為或特殊字符、或原義字符、或向后引用症杏、或八進(jìn)制轉(zhuǎn)義符装获。例如, 'n' 匹配字符 'n'厉颤。'\n' 匹配換行符穴豫。序列 '\\' 匹配 "\",而 '\(' 則匹配 "("逼友。
? ? ^? ? ? 匹配輸入字符串的開始位置精肃,除非在方括號表達(dá)式中使用,此時它表示不接受該字符集合翁逞。要匹配 ^ 字符本身肋杖,請使用 \^。
? ? {? 標(biāo)記限定符表達(dá)式的開始挖函。要匹配 {状植,請使用 \{。
? ? |? 指明兩項(xiàng)之間的一個選擇怨喘。要匹配 |津畸,請使用 \|。
基本驗(yàn)證
[0-9]? ? ? 匹配任意單個數(shù)字
[a-z]? ? ? 匹配任意單個小寫字母
[A-Z]? ? 匹配任意單個大寫字母
[0-9]*? ?匹配任意單個數(shù)字必怜,0次或多次
[a-z]+? 匹配任意單個小寫字母至少一次
[A-Z].[a-z] : 匹配大寫字母和小寫字母肉拓,中間必須由字符進(jìn)行間隔
\(.*\) : 匹配小括號及括號中的所有內(nèi)容
[0-9]{n} : 匹配數(shù)字出現(xiàn)n次
[0-9]{m,n} : 匹配數(shù)字出現(xiàn)最少m次最多n次
[0-9]{n,}? 匹配數(shù)字至少出現(xiàn)n次梳庆,沒有上限暖途、
實(shí)操:
電話號碼驗(yàn)證:
? ? ((13)|(15)|(17)|(18)|(19))[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
? ? ((13)|(15)|(17)|(18)|(19))[0-9]{9}
? ? 正式的格式 : /^((13)|(15)|(17)|(18)|(19))[0-9]{9}$/
名字驗(yàn)證:
? ? 中文驗(yàn)證:所有的字符在碼表中都有序號
? ? ? ? unicode編碼表 : 中文的序號為4e00到9fa5
? ? ? ? ? ? ? ? ? ? ? ? 4e00轉(zhuǎn)換為10進(jìn)制? : 4*16*16*16 + 14*16*16 + 0*16 + 0*1
? ? ? ? \u4e00-\u9fa5
? ? [\u4e00-\u9fa5]{2,4}
擴(kuò)展驗(yàn)證
[a-z0-9] 匹配一個字符它是數(shù)字或字母
[^0-9a-z] 匹配一個字符 不是數(shù)字或字母
\w (小寫)
? ? 匹配字母、數(shù)字膏执、下劃線驻售。等價(jià)于'[A-Za-z0-9_]'
\W (大寫)
? ? 匹配非字母、數(shù)字更米、下劃線欺栗。等價(jià)于 '[^A-Za-z0-9_]'。
案列:
日期拼接: (((19)|(20))?\d{2})-(((10|12|(0?[13578]))-(([12][0-9])|(3[0-1])|(0?[1-9])))|((11|(0?[469]))-(([12][0-9])|(30)|(0?[1-9])))|((0?2)-((1[0-9])|(2[0-9])|(0?[1-9]))))