js 正则验证密码强度(包含数字+特殊字符+英文字母大小写)
作者:在下月亮有何贵干
密码验证是常见的网站注册方法,本文主要介绍了js 正则验证密码强度(包含数字+特殊字符+英文字母大小写),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
记录一下js正则密码要求匹配方法。
正文
下方正则共包括四种筛选,可以根据需要去除对应括号内容即可:
- (?=.{12})表示要大等于12位。
- (?=.*?[a-z])表示要有小写字母。
- (?=.*?[A-Z])表示要有大写字母。
- (?=.*?\d)表示要有数字。
- (?=.?[?!&¥$%^#,./@";:><[]}{-=+_\|》《。,、?’‘“”~ `])表示要有特殊字符。
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; }
解析:
- [a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,30}表示四种的全部匹配的表达式
- \w 是匹配任意不是字母,数字,下划线,汉字的字符,这里因为有些特殊字符匹配不了我添加了其他特殊字符!@#$%^&*`~()-+=
- 然后使用排除法,排除其中只选一种或只选两种的情况,剩下的就是选了三种的情况了。
- (?![a-zA-Z]+$)表示排除小写字母和大写字母的匹配以此类推排除其他情况就得到最终表达式
到此这篇关于js 正则验证密码强度(包含数字+特殊字符+英文字母大小写)的文章就介绍到这了,更多相关js 正则验证密码强度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!