js正则表达式验证密码强度,必须包含数字,⼤写字母,⼩写字
母,特殊字符四选三
验证数字,⼤写字母,⼩写字母,特殊字符四选三组成的密码强度,且长度在8到30个数之间
表达式:
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-
9\W_!@#$%^&*`~()-+=]{8,30}$
js写法:
var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-
9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}$');
if(!st(pwd)){
js正则表达式判断数字msgError("输⼊错误:密码不符合规则,请重新输⼊。");
$("#password").focus();
return;
}
解析:
[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}表⽰四种的全部匹配的表达式
\w 是匹配任意不是字母,数字,下划线,汉字的字符,这⾥因为有些特殊字符匹配不了我添加了其他特殊字符!@#$%^&*`~()-+=
然后使⽤排除法,排除其中只选⼀种或只选两种的情况,剩下的就是选了三种的情况了。
(?![a-zA-Z]+$)表⽰排除⼩写字母和⼤写字母的匹配以此类推排除其他情况就得到最终表达式
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}$
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论