一些常用的正则表达式

在平时的开发中,一些常用的正则表达式能大大提高你的开发效率,一下是我平时的一些收集。

1.检验密码强度,密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间;

1
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

2.检验中文,字符串仅能是中文;

1
^[\u4e00-\u9fa5]{0,}$

3.由数字、26个英文字母或下划线组成的字符串;

1
^\w+$

4.检验E-Mail地址

1
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

5.检验身份证号码;

15位:
1
^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
18位:
1
^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$

6.检验日期,”yyyy-mm-dd”格式的日期校验,已考虑平闰年;

1
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

7.检验金额,金额校验,精确到2位小数;

1
^[0-9]+(.[0-9]{2})?$

8.检验手机号,下面是国内13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码);

1
^(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}$

9.判断IE版本

1
^.*MSIE[5-8](?:\.[0-9]+)?(?!.*Trident\/[5-9]\.0).*$

10.检查URL的前缀,请求是HTTPS还是HTTP;

1
2
3
4
if(!s.match(/^[a-zA-Z]+:\/\//))
{
s='http://'+s;
}

11.提取URL链接,下面的这个表达式可以筛选出一段文本中的URL;

1
^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?