javascript验证密码中的随机字符,如;a1a,又名,a$a,aJ^lG,G78%s#
我有一个密码更改页面,我想用“2个小写字母、2个大写字母、3个符号、2个数字等”来验证我的密码。现在从下面的代码中,我可以按照“aa、KK、ap、JK、90、89”等顺序验证密码,但不适用于“aK9Ju、a^rtH、hGT5$u等” 我只是粘贴小字母的代码,如果你想我可以提供整个代码javascript验证密码中的随机字符,如;a1a,又名,a$a,aJ^lG,G78%s#,javascript,regex,Javascript,Regex,我有一个密码更改页面,我想用“2个小写字母、2个大写字母、3个符号、2个数字等”来验证我的密码。现在从下面的代码中,我可以按照“aa、KK、ap、JK、90、89”等顺序验证密码,但不适用于“aK9Ju、a^rtH、hGT5$u等” 我只是粘贴小字母的代码,如果你想我可以提供整个代码 psw.onkeyup = function() { var LC = jsonData.LOWERCASE; var psw = document.getElementById("psw").value.repl
psw.onkeyup = function() {
var LC = jsonData.LOWERCASE;
var psw = document.getElementById("psw").value.replace(/([a-z])\d+/g, '$1');
var lowerCaseLetters = new RegExp('[a-z]{' + LC + '}', 'g')
if(psw.match(lowerCaseLetters)) {
letter.classList.remove("invalid");
letter.classList.add("valid");
} else {
letter.classList.remove("valid");
letter.classList.add("invalid");
}
因此,我的要求是,无论我以何种方式输入密码,它都应该验证相同的密码。我为您创建了一个具有3个约束条件的工作示例: -2个小写字母 -2个大写字母 -2位数 如果需要添加约束,只需编写一个简单的正则表达式来匹配单个约束,并通过
&&
将其连接到现有的if语句。我使用了一个函数来计算来自的正则表达式匹配的出现次数
函数testPassword(){
var pw=document.getElementById(“密码”).value;
如果(计数(pw,/[a-z]/g)>1&&
计数(pw,/[A-Z]/g)>1&&
计数(pw,/[0-9]/g)>1&&
计数(pw,/\W |(ug/g)>1//特殊字符
){
警惕(“成功”)
}
}
常量计数=(str,模式)=>{
常数re=模式
返回((str | |“”)。匹配(re)| |[])。长度
}
找到了答案,下面的代码正在运行。。psw.onkeyup=function(){var LC=jsonData.LOWERCASE;var lowerCaseLetters=new RegExp('(?:[a-z].{'+LC+'}','g')if(psw.value.match(lowerCaseLetters)){letter.classList.remove(“无效”);letter.classList.add(“有效”);}else{letter.classList.remove(“有效”);letter.classList.add(“无效”)}