1. 前言
- 登录注册基本都会有,那也就离不开密码的设置
- 但是密码会有很多种需求,这里简单列举几个
2. 密码不能包含特殊字符,且必须大于等于6位小于等于16位
- 这是基于饿了么 表单验证的自定义规则
var validatePwd = (rule, value, callback) => {
if (!value) {
callback(new Error('密码不能为空'))
} else {
let reg = /^(?![^a-zA-Z]+$)(?!\D+$)\S{6,16}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入6-16位密码,且密码不能包含特殊字符!'))
}
}
}
3. 6-16位,至少包含字母(大小写)、数字两种组合
- 这里就只写正则了 ,其他逻辑都一样
let reg = /^(?=.*[a-z])(?=.*\d)[^]{6,16}$/
if (!reg.test(value)) {
callback(new Error(msg))
} else {
callback()
}
4. 正常强度验证
- 数字字母特殊字符,8-16位,必须两种组合
let $test1 =
/(?!.*[\u4E00-\u9FA5\s])(?!^[a-zA-Z]+$)(?!^[\d]+$)(?!^[^a-zA-Z\d]+$)^.{8,16}$/
5. 中验证
- 必须包含数字、小写字母、和字符中的三种
let $test2 =
/^(?![a-z]+$)(?![0-9]+$)(?![\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-z0-9\W_!@#$%^&*`~()-+=]{8,16}$/
6. 强验证
- 必须包含数字和小写字母 大写字母 特殊符号三种
let $test3 = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/
参考资料
初心
我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落
的崛起;
共勉