前言
记录一下js正则密码要求匹配方法。
正文
下方正则共包括四种筛选,可以根据需要去除对应括号内容即可:
const password = 'Cc1239999***' const check = /^(?=.{12})(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[*?!&¥$%^#,./@";:><\[\]}{\-=+_\\|》《。,、?'‘“”~ `]).*$/; if (check.test(password)) { console.log('ok') } else { console.log('false') }
补充: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(!regex.test(pwd)){ msgError("输入错误:密码不符合规则,请重新输入。"); $("#password").focus(); return; }
解析: