正則匹配

今天用到了一個(gè) js驗(yàn)證 輸入手機(jī)號(hào)的,但要有一個(gè)萬(wàn)能的 400 800 等座機(jī) 移動(dòng)聯(lián)通小靈通手機(jī)號(hào)的正則式:

/^(1[3,5,8,7]{1}[\d]{9})|(((400)-(\d{3})-(\d{4}))|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{3,7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)$/

首先加個(gè)重要的東西*+?

*代表:0次或者多次

+代表:1次或者多次

?代表:0次或者1次

在EXT中使用正則表達(dá)式驗(yàn)證的方法:

fieldLabel : '員工號(hào)',

name : 'employee.empNo',

regex: /^\w+$/,

id : 'employee.empNo',

regexText:"員工號(hào)只能由字母和數(shù)字組成!",

allowBlank : false

匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5]

評(píng)注:匹配中文還真是個(gè)頭疼的事,有了這個(gè)表達(dá)式就好辦了

匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff]

評(píng)注:可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)

匹配空白行的正則表達(dá)式:\n\s*\r

評(píng)注:可以用來(lái)刪除空白行

匹配HTML標(biāo)記的正則表達(dá)式:<(\S*?)[^>]*>.*?|<.*? />

評(píng)注:網(wǎng)上流傳的版本太糟糕,上面這個(gè)也僅僅能匹配部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無(wú)能為力

匹配首尾空白字符的正則表達(dá)式:^\s*|\s*$

評(píng)注:可以用來(lái)刪除行首行尾的空白字符(包括空格、制表符、換頁(yè)符等等),非常有用的表達(dá)式

匹配Email地址的正則表達(dá)式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^\s]*

評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿足需求

匹配帳號(hào)是否合法(字母開(kāi)頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

匹配國(guó)內(nèi)電話號(hào)碼:\d{3}-\d{8}|\d{4}-\d{7}

評(píng)注:匹配形式如 0511-4405222 或 021-87888822

匹配騰訊QQ號(hào):[1-9][0-9]{4,}

評(píng)注:騰訊QQ號(hào)從10000開(kāi)始

匹配中國(guó)郵政編碼:[1-9]\d{5}(?!\d)

評(píng)注:中國(guó)郵政編碼為6位數(shù)字

匹配身份證:\d{15}|\d{18}

評(píng)注:中國(guó)的身份證為15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+

評(píng)注:提取ip地址時(shí)有用

匹配特定數(shù)字:

^[1-9]\d*$    //匹配正整數(shù)

^-[1-9]\d*$   //匹配負(fù)整數(shù)

^-?[1-9]\d*$   //匹配整數(shù)

^[1-9]\d*|0$  //匹配非負(fù)整數(shù)(正整數(shù) + 0)

^-[1-9]\d*|0$   //匹配非正整數(shù)(負(fù)整數(shù) + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮點(diǎn)數(shù)

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配負(fù)浮點(diǎn)數(shù)

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮點(diǎn)數(shù)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)

評(píng)注:處理大量數(shù)據(jù)時(shí)有用,具體應(yīng)用時(shí)注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26個(gè)英文字母組成的字符串

^[A-Z]+$  //匹配由26個(gè)英文字母的大寫(xiě)組成的字符串

^[a-z]+$  //匹配由26個(gè)英文字母的小寫(xiě)組成的字符串

^[A-Za-z0-9]+$  //匹配由數(shù)字和26個(gè)英文字母組成的字符串

^\w+$  //匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串

評(píng)注:最基本也是最常用的一些表達(dá)式

重點(diǎn)掌握:

regex:/^[\w\u4E00-\u9FFF]+$/,

regexText:'輸入中文、數(shù)字和英文'

匹配中文字符的正則表達(dá)式: [u4e00-u9fa5]

匹配空白行的正則表達(dá)式:ns*r

評(píng)注:可以用來(lái)刪除空白行

只能輸入數(shù)字:“^[0-9]*$”

只能輸入n位的數(shù)字:“^d{n}$”

只能輸入至少n位數(shù)字:“^d{n,}$”

只能輸入m-n位的數(shù)字:“^d{m,n}$”

只能輸入零和非零開(kāi)頭的數(shù)字:“^(0|[1-9][0-9]*)$”

只能輸入有兩位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{2})?$”

只能輸入有1-3位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{1,3})?$”

只能輸入非零的正整數(shù):“^+?[1-9][0-9]*$”

只能輸入非零的負(fù)整數(shù):“^-[1-9][0-9]*$”

只能輸入長(zhǎng)度為3的字符:“^.{3}$”

只能輸入由26個(gè)英文字母組成的字符串:“^[A-Za-z]+$”

只能輸入由26個(gè)大寫(xiě)英文字母組成的字符串:“^[A-Z]+$”

只能輸入由26個(gè)小寫(xiě)英文字母組成的字符串:“^[a-z]+$”

只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:“^[A-Za-z0-9]+$”

只能輸入由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:“^w+$”

驗(yàn)證用戶密碼:“^[a-zA-Z]w{5,17}$”正確格式為:以字母開(kāi)頭,長(zhǎng)度在6-18之間,

只能包含字符、數(shù)字和下劃線。

驗(yàn)證是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”

只能輸入漢字:“^[u4e00-u9fa5],{0,}$”

驗(yàn)證Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”

驗(yàn)證InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”

驗(yàn)證電話號(hào)碼:“^((d{3,4})|d{3,4}-)?d{7,8}$”

匹配首尾空格的正則表達(dá)式:(^s*)|(s*$)

匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配網(wǎng)址URL的正則表達(dá)式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^s]*

評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿足需求

匹配帳號(hào)是否合法(字母開(kāi)頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

匹配國(guó)內(nèi)電話號(hào)碼:d{3}-d{8}|d{4}-d{7}

評(píng)注:匹配形式如 0511-4405222 或 021-87888822

匹配騰訊QQ號(hào):[1-9][0-9]{4,}

評(píng)注:騰訊QQ號(hào)從10000開(kāi)始

匹配中國(guó)郵政編碼:[1-9]d{5}(?!d)

評(píng)注:中國(guó)郵政編碼為6位數(shù)字

匹配身份證:d{15}|d{18}

評(píng)注:中國(guó)的身份證為15位或18位

匹配ip地址:d+.d+.d+.d+

評(píng)注:提取ip地址時(shí)有用

傳送門(mén)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 正則表達(dá)式全部符號(hào)解釋(轉(zhuǎn)) 常用正則表達(dá)式大全 (轉(zhuǎn)) 不錯(cuò)的正則博客 正則的方法 var reg = /[1-...
    me__me11閱讀 1,005評(píng)論 0 0
  • 正則表達(dá)式到底是什么東西?字符是計(jì)算機(jī)軟件處理文字時(shí)最基本的單位,可能是字母,數(shù)字,標(biāo)點(diǎn)符號(hào),空格,換行符,漢字等...
    獅子挽歌閱讀 2,178評(píng)論 0 9
  • 正則表達(dá)式 \n\n\n 【5】正則表達(dá)式應(yīng)用——?jiǎng)h除空行 啟動(dòng)EditPlus,打開(kāi)待處理的文本類型文件。 ①、...
    黃花菜已涼閱讀 1,071評(píng)論 0 4
  • \d 代表 [0-9] \l 代表 [a-z] \u 代表 [A-Z] \a 代表 [A-Za-z] \w 代表 ...
    zhuoshao閱讀 1,407評(píng)論 0 5
  • 終于第二節(jié)課上完了,也到了吃飯時(shí)間。學(xué)生們興沖沖地排隊(duì)洗手,然后拿著一個(gè)很大的一個(gè)碗排隊(duì)打飯。原來(lái)的老師把一盆米飯...
    午夜亂舞閱讀 258評(píng)論 1 0