【www.bbyears.com--php正则表达式】
web开发中比较常用的也就那么几个。下面作者将工作中常用的一些正则表达式做一个总结。
说明
正则表达式
网址(URL)
[a-zA-z]+://[^s]*
IP地址(IP Address)
((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)
电子邮件(Email)
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
QQ号码
[1-9]d{4,}
HTML标记(包含内容或自闭合)
<(.*)(.*)>.*1>|<(.*) />
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上)
(?=^.{8,}$)(?=.*d)(?=.*W+)(?=.*[A-Z])(?=.*[a-z])(?!.*n).*$
日期(年-月-日)
(d{4}|d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
日期(月/日/年)
((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(d{4}|d{2})
时间(小时:分钟, 24小时制)
((1|0?)[0-9]|2[0-3]):([0-5][0-9])
汉字(字符)
[u4e00-u9fa5]
中文及全角标点符号(字符)
[u3000-u301eufe10-ufe19ufe30-ufe44ufe50-ufe6buff01-uffee]
中国大陆固定电话号码
(d{4}-|d{3}-)?(d{8}|d{7})
中国大陆手机号码
1d{10}
中国大陆邮政编码
[1-9]d{5}
中国大陆身份证号(15位或18位)
d{15}(dd[0-9xX])?
非负整数(正整数或零)
d+
正整数
[0-9]*[1-9][0-9]*
负整数
-[0-9]*[1-9][0-9]*
整数
-?d+
小数
(-?d+)(.d+)?
只能输入数字:"^[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之间,只能包含字符、数字和下划线
验证是否含有非法字符 ^(?:[u4e00-u9fa5]*w*s*)+$
只能输入汉字:"^[u4e00-u9fa5]{0,}$"
验证 Email 地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
验证 InternetURL:"^http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?$"
中国电话号码验证
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"
中国邮政编码验证
匹配形式如:215421
正则表达式 "d{6}"
电子邮件验证
匹配形式如:justali@justdn.com
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"
身份证验证
匹配形式如:15位或者18位身份证
正则表达式 "d{18}|d{15}"
常用数字验证
正则表达式
"d{n}" n为规定长度
"d{n,m}" n到m的长度范围
非法字符验证
匹配排除非法字符的字符如:
正则表达式 ^(?:[u4e00-u9fa5]*w*s*)+$
日期验证
匹配形式如:20030718,030718
范围:1900--2099
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}