- 電話號碼
/^(\d{3,4}-?)?\d{7,9}$/g
- 手機號碼
/^(((13[0-9]{1})|(15[0-35-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/
- 身份證
15位: /^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)
/
- 郵箱
/^[_a-zA-Z0-9-.]+@([-_a-zA-Z0-9]+.)+[a-zA-Z0-9]{2,3}
- 郵編
/^[0-9]{6}$/
- IP地址
/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))).)(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))).){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$/
- 日期
((((1[8-9]\d{2})|([2-9]\d{3}))([-/._])(10|12|0?[13578])([-/._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-/._])(11|0?[469])([-/._])(30|[12][0-9]|0?[1-9])$)|(((1[8-9]\d{2})|([2-9]\d{3}))([-/.])(0?2)([-/.])(2[0-8]|1[0-9]|0?[1-9])
)|(^([3579][26]00)([-/.])(0?2)([-/.])(29)
)|(^([2-9][0-9][0][48])([-/.])(0?2)([-/.])(29)
)|(^([2-9][0-9][2468][048])([-/.])(0?2)([-/.])(29)
)|(^([2-9][0-9][13579][26])([-/.])(0?2)([-/.])(29)$))
作者:zxin,出處:博客園:http://zxin.cnblogs.com/
鏈接:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html
一、校驗數字的表達式
1 數字:^[0-9]
3 至少n位的數字:^\d{n,}
5 零和非零開頭的數字:^(0|[1-9][0-9])
7 帶1-2位小數的正數或負數:^(-)?\d+(.\d{1,2})?
9 有兩位小數的正實數:^[0-9]+(.[0-9]{2})?
11 非零的正整數:^[1-9]\d 或 ^+?[1-9][0-9]
或 ^-[1-9]\d
或 ^[1-9]\d|0
或 ^((-\d+)|(0+))
或 ^[1-9]\d.\d|0.\d[1-9]\d|0?.0+|0
或 ^(-([1-9]\d.\d|0.\d[1-9]\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]))
或 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))
或 ^-?([1-9]\d.\d|0.\d[1-9]\d|0?.0+|0)$
二、校驗字符的表達式
1 漢字:^[\u4e00-\u9fa5]{0,} 或 ^[A-Za-z0-9]{4,40}
4 由26個英文字母組成的字符串:^[A-Za-z]+
6 由26個小寫英文字母組成的字符串:^[a-z]+
8 由數字、26個英文字母或者下劃線組成的字符串:^\w+
9 中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}
"等字符:[^%&',;=?$\x22]+
12 禁止輸入含有的字符:[^\x22]+
三、特殊需求表達式
1 Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)
4 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}
6 國內電話號碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
7 身份證號(15位、18位數字):^\d{15}|\d{18} 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?
10 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])
15 錢的輸入格式:
16 1).有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]
18 3).一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9])
20 5).必須說明的是,小數點后面至少應該有1位數,所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的:^[0-9]+(.[0-9]{2})?
22 7).這樣就允許用戶只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})(.[0-9]{1,2})?
24 備注:這就是最終結果了,別忘了"+"可以用""替代如果你覺得空字符串也可以接受的話(奇怪,為什么?)最后,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這里25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]或(^\s)|(\s*$) (可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式)
31 騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)
32 中國郵政編碼:[1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)
33 IP地址:\d+.\d+.\d+.\d+ (提取IP地址時有用)
34 IP地址:((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)) (由@飛龍三少 提供,感謝共享)
不錯的文章:http://blog.didispace.com/regular-expression-1/
引用及反向引用:https://dailc.github.io/2017/08/01/regularExpressionConcepts.html