在平时的开发中,一些常用的正则表达式能大大提高你的开发效率,一下是我平时的一些收集。
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 | if(!s.match(/^[a-zA-Z]+:\/\//)) |
11.提取URL链接,下面的这个表达式可以筛选出一段文本中的URL;
1 | ^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)? |