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