常用的正则表达式

2017-06-10  本文已影响0人  兔生生

当用户使用注册功能的时候,通常我们会对用户做一部分的限制,包括用户名的限制,密码强度的限制等,这些限制,我们也不希望通过服务器去校验。这就需要通过前端页面去校验这些数据。对这一类的校验最好用的方法就是使用正则表达式。

这里我列举一些常用的正则表达式

QQ号:[1-9][0-9]{4,}


只能输入数字:“^[0-9]*$”


手机号码:^(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}$


国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}


中文字符的正则表达式:[\u4e00-\u9fa5]


中国邮政编码:[1-9]\d{5}(?!\d)


IP地址:\d+\.\d+\.\d+\.\d


首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$)


HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? />  //对一些简单的嵌套都可以


身份证验证

15位:

^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$

18位:

^[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)$


校验日期

^(?:(?!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)$

日期格式:yyyy-mm--dd


提取URL连接

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


昵称设置:允许限16个字符,支持中英文、数字、减号或下划线

^[\\u4e00-\\u9fa5_a-zA-Z0-9-]{1,16}$


密码强度:6-20 位,字母、数字、字符

^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$


邮箱验证

^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$

正则表达式直接使用还是很方便的,写起来还是比较麻烦的,我在这里也是这抛砖引玉。

想要学习正则表达式

可以登录http://www.runoob.com/regexp/regexp-tutorial.html

正则表达式最头疼的地方在于,不测试根本看不出来对不对,下面附赠一个在线的测试工具

在线测试工具:http://www.jb51.net/tools/zhengze.htm

上一篇 下一篇

猜你喜欢

热点阅读