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 正则验证密码强度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
javascript之Partial Application学习
在数学中,一个函数是描述每个输入值对应唯一输出值的这种对应关系,符号为 f(x)。例如,表达式 f(x)=x2表示了一个函数 f,其中每个输入值x都与唯一输出值x2相联系2013-01-01
Bootstrap Tooltip显示换行和左对齐的解决方案
小编在使用Bootstrap的Tooltip功能时遇到一些小问题,换行丢失,文字不是左对齐。下面小编给大家介绍下Bootstrap Tooltip显示换行和左对齐的解决方案,感兴趣的朋友一起看看吧2017-10-10


最新评论