正则表达式这东西,学起来还算是有点难度,关键是要不断的在实战中去使用,个把月不用,基本上就快生疏了。作者可是有这个惨痛经历的,所以对于这个东西,还是靠积累!尽量多积累一些比较常用的正则表达式,用的时候直接拿来使用。
web开发中比较常用的也就那么几个。
下面作者将工作中常用的一些正则表达式做一个总结。
网址(URL)
[a-zA-z]+://[^\s]*
IP地址
(IP Address)((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
电子邮件
(Email)\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
QQ号码
[1-9]\d{4,}
HTML标记(包含内容或自闭合)
<(.*)(.*)>.*|<(.*) \/>
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,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-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
中国大陆固定电话号码
(\d{4}-|\d{3}-)?(\d{8}|\d{7})
中国大陆手机号码
1\d{10}
中国大陆邮政编码
[1-9]\d{5}
中国大陆身份证号(15位或18位)
\d{15}(\d\d[0-9xX])?
非负整数(正整数或零)
\d+
正整数
[0-9]*[1-9][0-9]*
负整数
-[0-9]*[1-9][0-9]*
整数
-?\d+小数(-?\d+)(\.\d+)?
以上正则表达式经过多次测试,靠谱度还是挺高的,大家可以放心使用。但因为不同程序或工具的正则表达式略有区别,大家可以根据自己的情况适当的修改。