經常使用正則表達式大全(待更新)

閒暇之餘,整理經常使用正則表達式,方便使用時查詢javascript

 1 /* 2 
 3     匹配中文字符的正則表達式: [u4e00-u9fa5]
 4     評註:匹配中文還真是個頭疼的事,有了這個表達式就好辦了
 5     匹配雙字節字符(包括漢字在內):[^x00-xff]
 6     評註:能夠用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
 7     匹配空白行的正則表達式:ns*r
 8     評註:能夠用來刪除空白行
 9     匹配HTML標記的正則表達式:<(S*?)[^>]*>.*?|<.*? />
10     評註:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的嵌套標記依舊無能爲力
11     匹配首尾空白字符的正則表達式:^s*|s*$
12     評註:能夠用來刪除行首行尾的空白字符(包括空格、製表符、換頁符等等),很是有用的表達式
13     匹配Email地址的正則表達式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
14     評註:表單驗證時很實用
15     匹配網址URL的正則表達式:[a-zA-z]+://[^s]*
16     評註:網上流傳的版本功能頗有限,上面這個基本能夠知足需求
17     匹配賬號是否合法(字母開頭,容許5-16字節,容許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
18     評註:表單驗證時很實用
19     匹配國內電話號碼:d{3}-d{8}|d{4}-d{7}
20     評註:匹配形式如 0511-4405222 或 021-87888822
21     匹配騰訊QQ號:[1-9][0-9]{4,}
22     評註:騰訊QQ號從10000開始
23     匹配中國郵政編碼:[1-9]d{5}(?!d)
24     評註:中國郵政編碼爲6位數字
25     匹配身份證:d{15}|d{18}
26     評註:中國的身份證爲15位或18位
27     匹配ip地址:d+.d+.d+.d+
28     評註:提取ip地址時有用
29 
30 
31 
32     匹配特定數字:
33     ^[1-9]d*$    //匹配正整數
34     ^-[1-9]d*$   //匹配負整數
35     ^-?[1-9]d*$   //匹配整數
36     ^[1-9]d*|0$  //匹配非負整數(正整數 + 0)
37     ^-[1-9]d*|0$   //匹配非正整數(負整數 + 0)
38     ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮點數
39     ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配負浮點數
40     ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮點數
41     ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非負浮點數(正浮點數 + 0)
42     ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮點數(負浮點數 + 0)
43     評註:處理大量數據時有用,具體應用時注意修正
44 
45 
46     匹配特定字符串:
47     ^[A-Za-z]+$  //匹配由26個英文字母組成的字符串
48     ^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串
49     ^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串
50     ^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串
51     ^w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串
52 
53 
54 
55 
56     只能輸入數字:「^[0-9]*$」
57     只能輸入n位的數字:「^d{n}$」
58     只能輸入至少n位數字:「^d{n,}$」
59     只能輸入m-n位的數字:「^d{m,n}$」
60     只能輸入零和非零開頭的數字:「^(0|[1-9][0-9]*)$」
61     只能輸入有兩位小數的正實數:「^[0-9]+(.[0-9]{2})?$」
62     只能輸入有1-3位小數的正實數:「^[0-9]+(.[0-9]{1,3})?$」
63     只能輸入非零的正整數:「^+?[1-9][0-9]*$」
64     只能輸入非零的負整數:「^-[1-9][0-9]*$」
65     只能輸入長度爲3的字符:「^.{3}$」
66     只能輸入由26個英文字母組成的字符串:「^[A-Za-z]+$」
67     只能輸入由26個大寫英文字母組成的字符串:「^[A-Z]+$」
68     只能輸入由26個小寫英文字母組成的字符串:「^[a-z]+$」
69     只能輸入由數字和26個英文字母組成的字符串:「^[A-Za-z0-9]+$」
70     只能輸入由數字、26個英文字母或者下劃線組成的字符串:「^w+$」
71 
72 
73 
74     驗證用戶密碼:「^[a-zA-Z]w{5,17}$」正確格式爲:以字母開頭,長度在6-18之間,
75     只能包含字符、數字和下劃線。
76     驗證是否含有^%&'',;=?$"等字符:「[^%&'',;=?$x22]+」
77     只能輸入漢字:「^[u4e00-u9fa5],{0,}$」
78     驗證Email地址:「^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$」
79     驗證InternetURL:「^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$」
80     驗證電話號碼:「^((d{3,4})|d{3,4}-)?d{7,8}$」
81     正確格式爲:「XXXX-XXXXXXX」,「XXXX-XXXXXXXX」,「XXX-XXXXXXX」,
82     「XXX-XXXXXXXX」,「XXXXXXX」,「XXXXXXXX」。
83     驗證身份證號(15位或18位數字):「^d{15}|d{}18$」
84     驗證一年的12個月:「^(0?[1-9]|1[0-2])$」正確格式爲:「01」-「09」和「1」「12」
85     驗證一個月的31天:「^((0?[1-9])|((1|2)[0-9])|30|31)$」
86     正確格式爲:「01」「09」和「1」「31」。
87     匹配中文字符的正則表達式: [u4e00-u9fa5]
88     匹配雙字節字符(包括漢字在內):[^x00-xff]
89     匹配空行的正則表達式:n[s| ]*r
90     匹配HTML標記的正則表達式:/<(.*)>.*|<(.*) />/
91     匹配首尾空格的正則表達式:(^s*)|(s*$)
92     匹配Email地址的正則表達式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
93     匹配網址URL的正則表達式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?*/

 

/*^同類*/
//    ^	    匹配輸入字符串的開始位置。
//    $	    匹配輸入字符串的結束位置。
//   \b     匹配一個單詞邊界,也就是指單詞和空格間的位置。
//          例如, 'er\b' 能夠匹配"never" 中的'er',但不能匹配 "verb" 中的 'er'。
//    \B	和\b相反,匹配非單詞邊界。
//          'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。



/*補充 g同類 -- i 表示不區分大小寫
好比:/a/i,表示「a」或「A」都是知足條件的*/


/**同類*/
//星號(*): 星號表明匹配它前面一個字符任意遍(0或任意次)
//加號(+): 表示匹配前面的字符一次或屢次(至少一次).
//問號(?): 問號也是一個數量詞,它表明匹配前一個字符0或1次。

//中括號[]: 中括號用來表示一個字符集合,
//若是這個集合有不少元素,如26個字母,數字等,一個個地寫在中括號裏,未免太麻煩太蠢笨,
//這時能夠用連字符(hyphen)來表示一個範圍,
// 如:[a-z]表示小寫字母的集合,
// [a-zA-Z]表示大小寫字母的集合。
// 脫字符^ (caret).
// 這種寫法表示,匹配任何不在該集合中的字符,與上面的用法恰好相反

//    大括號:{}
//    大括號的做用是指定重複前面一個字符多少遍:
//    {N} 重複N遍
//    {n,m} 重複 n~m 遍
//    {n,}  至少重複n遍
//    {,m} 至多重複m遍



/*\s同類*/
//    \w -- (小寫w) 表示字母或數字,等價於 [a-zA-Z0-9]
//    \W -- (大寫W)非字母且非數字,與\w相反 等價於 '[^A-Za-z0-9_]'
//    \s  --  (小寫s)匹配一個空格字符,包括:空格,換行,回車,tab,等價於[ \n\r\t\f]
//    \S --  (大寫S)匹配非空格字符,\s的相反 等價於 [^ \f\n\r\t\v]。
//    \d -- 表示10進制數字,等價於 [0-9]
//    \D --	匹配一個非數字字符。等價於 [^0-9]。
相關文章
相關標籤/搜索