首頁  >  文章  >  Java  >  java常用正規表示式

java常用正規表示式

高洛峰
高洛峰原創
2017-01-05 17:17:121226瀏覽

"^/d+$"   //非負整數(正整數+ 0)

"^[0-9]*[1-9][0-9]*$"   //正整數

"^( (-/d+)|(0+))$"   //非正整數(負整數+ 0)

"^-[0-9]*[1-9][0-9]*$"   //負整數

"^-?/d+$"     //整數

"^/d+(/./d+)?$"    //整數(正浮點數+ 0)

0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9 ]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數

"^((-/d+(/./d+)?)|( 0+(/.0+)?))$"  //非正浮點數(負浮點數+ 0)

"^(-(([0-9]+/.[0-9]*[1 -9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9 ][0-9]*)))$"  //負浮點數

"^(-?/d+)(/./d+)?$"   //浮點數

"^[A-Za-z ]+$"   //由26個英文字母組成的字串

"^[A-Z]+$"   //由26個英文字母的大寫組成的字串

"^[a-z]+$"   //由26個英文字母的小寫組成的字串

"^[A-Za-z0-9]+$"   //由數字和26個英文字母組成的字串

"^/w+$"   //由數字、26個英文字母或底線組成的字串

"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+ )+$"    //email地址

"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/ ?/S*)?$"  //url

/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]) )-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年月-日

/^((0([1- 9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{ 2}|d{4})$/ // 月/日/年

"^([w-.]+)@(([[0-9]{1,3}.[0-9]{ 1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{ 1,3})(]?)$" //Emil

"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7, 8})(-d+)?" //電話號碼

"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2} |1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1, 2}|1dd|2[0-4]d|25[0-5])$" //IP位址

符合中文字元的正規表示式: [/u4e00-/u9fa5]

符合雙位元組字符(包括漢字在內):[^/x00-/xff]

符合空行的正規表示式:/n[/s| ]*/r

符合HTML標記的正規表示式:/.*|/

符合首尾空格的正規表示式:(^/s*)|(/s*$)

符合Email位址的正規表示式:/w+( [-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

符合網址URL的正規表示式:^[a-zA- z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$

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

匹配國內電話號碼: (/d{3}-|/d{4}-)?(/d{8}|/d{7})?

配對騰訊QQ號:^[1-9]*[1-9][ 0-9]*$

元字元及其在正規表示式上下文中的行為:

/ 將下一個字元標記為一個特殊字元、或一個原義字元、或一個後向引用、或一個八進位轉義符。

^ 符合輸入字串的起始位置。如果設定了 RegExp 物件的Multiline 屬性,^ 也符合 '/n' 或 '/r' 之後的位置。

$ 匹配輸入字串的結束位置。如果設定了 RegExp 物件的Multiline 屬性,$ 也符合 '/n' 或 '/r' 之前的位置。

* 符合前面的子表達式零次或多次。

+ 符合前面的子表達式一次或多次。 + 等價於 {1,}。

? 符合前面的子表達式零次或一次。 ? 等價於 {0,1}。

{n} n 是一個非負整數,匹配確定的n 次。

{n,} n 是一個非負整數,至少符合n 次。

{n,m} m 和 n 均為非負整數,其中n ? 當該字元緊接在任何其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜尋的字串,而預設的貪婪模式則盡可能多的匹配所搜尋的字串。

. 符合 "/n" 以外的任何單一字元。若要符合包括 '/n' 在內的任何字符,請使用象 '[./n]' 的模式。

(pattern) 匹配pattern 並取得此匹配。

(?:pattern) 匹配pattern 但不獲取匹配結果,也就是說這是一個非獲取匹配,不進行存儲以供以後使用。

(?=pattern) 正向預查,在任何符合 pattern 的字串開始處符合查找字串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。

(?!pattern) 負向預查,與(?=pattern)作用相反

x|y 匹配 x 或 y。

[xyz] 字元集合。

[^xyz] 負值字元集合。

[a-z] 字元範圍,符合指定範圍內的任意字元。

[^a-z] 負值字元範圍,符合任何不在指定範圍內的任意字元。

/b 符合一個單字邊界,也就是指單字和空格間的位置。

/B 匹配非單字邊界。

/cx 符合x指明的控製字元。

/d 匹配一個數字字元。等價於 [0-9]。

/D 匹配一個非數字字元。等價於 [^0-9]。

/f 符合一個換頁符號。等價於 /x0c 和 /cL。

/n 符合一個換行符。等價於 /x0a 和 /cJ。

/r 符合一個回車符。等價於 /x0d 和 /cM。

/s 符合任何空白字符,包括空格、製表符、換頁符等等。等價於[ /f/n/r/t/v]。

/S 符合任何非空白字元。等價於 [^ /f/n/r/t/v]。

/t 符合一個製表符。等價於 /x09 和 /cI。

/v 符合一個垂直製表符。等價於 /x0b 和 /cK。

/w 匹配包括下劃線的任何單字字元。等價於'[A-Za-z0-9_]'。

/W 符合任何非單字字元。等價於 '[^A-Za-z0-9_]'。

/xn 符合 n,其中 n 為十六進位轉義值。十六進制轉義值必須為確定的兩個數字長。

/num 符合 num,其中num是一個正整數。對所獲取的匹配的引用。

/n 標識一個八進制轉義值或一個後向引用。如果 /n 之前至少 n 個取得的子表達式,則 n 為後向引用。否則,如果 n 為八進制數字 (0-7),則 n 為一個八進制轉義值。

/nm 標識一個八進制轉義值或一個後向引用。如果 /nm 之前至少有is preceded by at least nm 個取得得子表達式,則 nm 為後向引用。如果 /nm 之前至少有 n 個獲取,則 n 為一個後接文字 m 的後向引用。如果前面的條件都不滿足,若 n 和 m 均為八進位數字 (0-7),則 /nm 將符合八進位轉義值 nm。

/nml 如果 n 為八進位數字 (0-3),且 m 和 l 均為八進位數字 (0-7),則符合八進位轉義值 nml。

/un 符合 n,其中 n 是一個用四個十六進位數字表示的Unicode字元。

符合中文字元的正規表示式:[u4e00-u9fa5]

符合雙位元組字元(包括漢字在內):[^x00-xff]

符合空白行的正規表示式:n[s| ] *r

符合HTML標記的正規表示式:/.*|/

符合首尾空格的正規表示式:(^s*)|(s*$ )

符合Email位址的正規表示式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

符合網址URL的正規表示式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

利用正規表示式限制網頁表單裡的文字方塊輸入內容:

用正規表示式限制只能輸入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData( 'text').replace(/[^u4E00-u9FA5]/g,''))"

用正規表示式限制只能輸入全角字元: onkeyup="value=value.replace(/[^uFF00-uFFFF ]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

用正規表達式限制只能輸入數字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace( /[^d]/g,''))"

用正規表示式限制只能輸入數字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste=" clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

  ********************** ************************************************** **********************************

只能輸入數字:"^[0-9]*$ "。

只能輸入n位的數字:"^/d{n}$"。

只能輸入至少n位的數字:"^/d{n,}$"。

只能輸入m~n位的數字:。 "^/d{m,n}$"

只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。

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

只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。

只能輸入非零的正整數:"^/+?[1-9][0-9]*$"。

只能輸入非零的負整數:"^/-[1-9][]0-9"*$。

只能輸入長度為3的字元:"^.{3}$"。

只能輸入由26個英文字母組成的字串:"^[A-Za-z]+$"。

只能輸入由26個大寫英文字母組成的字串:"^[A-Z]+$"。

只能輸入由26個小寫英文字母組成的字串:"^[a-z]+$"。

只能輸入由數字和26個英文字母組成的字串:"^[A-Za-z0-9]+$".

只能輸入由數字、26個英文字母或下劃線組成的字串:"^/w+$"。

驗證使用者密碼:"^[a-zA-Z]/w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字元、數字和底線。

驗證是否含有^%&',;=?$/"等字元:"[^%&',;=?$/x22]+"。

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

驗證Email位址:"^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/ w+)*$"。

驗證InternetURL:"^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)? $"。

驗證電話號碼:"^(/(/d{3,4}-)|/d{3.4}-)?/d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。

驗證身分證號(15位或18位數字):"^/d{15}|/d{18}$"。

驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。

驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~" 09"和"1"~"31".

更多java常用正規表示式相關文章請關注PHP中文網!


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