置顶-表单正则表达式
注册,登录时表单常常会用到正则表达式,这里我们参考下validform.js 官网表单验证的原理:
1.密码验证:正则表达式验证六位数以上数字,符号,字母任意两种混合的
passwordReg = /^(?![0-9]+$)(?![a-zA-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-zA-Z]|[0-9]){6,16}$/;
这个正则如果是单独的数字,字符和符号,是不能通过的,少于6位也不行,希望大家可以继续验证正确性吧
2.密码验证:除空格外的6-16位字符
passwordReg =/^\S{6,16}$/;
3.电话号码验证:
phoneReg = /^(13[0-9]|15[0-9]|17[0-9]|18[0-9]|14[0-9])[0-9]{8}$/;
补充目前电话号码16,19都有了都有了修改下电话号码的正则: phoneReg= /^1[3456789]\d{9}$/
4.短信验证码验证:6位数字
codeReg = /^\d{6}$/;
5.短信验证码验证:6位数字
codeReg = /^\d{6}$/;
6.邮箱正则
emailRegex = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/
目标满足的验证逻辑:
- @之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.)
- @和最后一个.之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),且两个点不能挨着
- 最后一个.之后必须有内容且内容只能是字母(大小写)、数字且长度为大于等于2个字节,小于等于6个字节`
测试例子:
不满足校验逻辑:
441030517@QQ…com
119941779@qq,com
5579001QQ@.COM
1107531656@q?q?.com
654088115@@qq.com
495456580@qq@139.com
279985462@qq。com.cn
chen@foxmail.com)m
2990814514@?£QQ.COM
xxxxxxxxx@___.com.cn
xxxxxxxxx@wwew_163sadasdf.com.cn
满足逻辑的:
xxxxxxx@163.com
xxxxxxxxx@wwew-163.com.cn
hjkjhk@645654.2121-6878.com.wcn