如何在javascript正则表达式中传递json数据?并按顺序验证密码

如何在javascript正则表达式中传递json数据?并按顺序验证密码,javascript,html,json,regex,Javascript,Html,Json,Regex,我正在尝试使用javascript正则表达式验证密码。现在我想验证来自json的两个小写字母(2个小写字母) psw.onkeyup = function() { var Lcase = jsonData.LOWERCASE; var psw = document.getElementById("password"); var lowerCaseLetters = /[a-z]{2}/g; if(psw.value.match(lowerCaseLetters)) { l

我正在尝试使用javascript正则表达式验证密码。现在我想验证来自json的两个小写字母(2个小写字母)

psw.onkeyup = function() {
  var Lcase = jsonData.LOWERCASE;
  var psw = document.getElementById("password");
  var lowerCaseLetters = /[a-z]{2}/g;
  if(psw.value.match(lowerCaseLetters)) {
    letter.classList.remove("invalid");
    letter.classList.add("valid");
  } else {
    letter.classList.remove("valid");
    letter.classList.add("invalid");
  }
}
在上面的代码中,我为json数据设置了一个变量“Lcase”,现在我想用该变量“Lcase”替换“{2}”(在regex内部),因为“Lcase”变量是动态的。如果我做错了什么,请引导我走出这个问题。 我想验证来自json(动态数字)的小写字母,以查看密码字符串中有多少小写字母

请参考以下密码长度代码

  if(psw.value.length >= jsonData.MINLEN_RANGE) {
    length.classList.remove("invalid");
    length.classList.add("valid");
  } else {
    length.classList.remove("valid");
    length.classList.add("invalid");
  }

如果使用RegExp定义正则表达式,则可以使用Lcase定义{2}。
该代码还包括下面评论中发布的问题

psw.onkeyup=function(){
var Lcase=jsonData.LOWERCASE;
var psw=document.getElementById(“密码”).value.replace(/([a-z])\d+//g,“$1”);
var lowerCaseLetters=new RegExp('[a-z]{'+Lcase+'}',g')
if(psw.match(小写字母)){
信函。类列表。删除(“无效”);
信函。类别列表。添加(“有效”);
}否则{
信函。类别列表。删除(“有效”);
字母.classList.add(“无效”);
}
}

如果使用RegExp定义正则表达式,则可以使用Lcase定义{2}。
该代码还包括下面评论中发布的问题

psw.onkeyup=function(){
var Lcase=jsonData.LOWERCASE;
var psw=document.getElementById(“密码”).value.replace(/([a-z])\d+//g,“$1”);
var lowerCaseLetters=new RegExp('[a-z]{'+Lcase+'}',g')
if(psw.match(小写字母)){
信函。类列表。删除(“无效”);
信函。类别列表。添加(“有效”);
}否则{
信函。类别列表。删除(“有效”);
字母.classList.add(“无效”);
}
}

非常感谢。。正如预期的那样工作,但还有一个问题是,它只考虑按顺序排列的小写字母,例如:as123,而不考虑eg:A123ST。这是一个与原始帖子不同的问题,但它也有一个简单的解决方案:
js psw=psw.replace(/([a-z])\d+/g,$1')我没有明白你的意思,我怎么能把它包含在我的代码中呢?我修改了代码以解决你的第二个问题。为了清楚起见,您应该编辑您的原始帖子以包含这两个问题,否则我的答案与原始帖子不匹配。原始帖子已被修改,您的代码运行良好。。谢谢你,谢谢。。按预期工作,但还有一个问题是,它只考虑顺序为:as123的小字母,但不适用于:a123sThat是与原始邮件不同的问题,但它也有一个简单的解决方案:
jspsw=psw.replace(/([a-z])\d+/g,$1')我没有明白你的意思,我怎么能把它包含在我的代码中呢?我修改了代码以解决你的第二个问题。为了清楚起见,您应该编辑您的原始帖子以包含这两个问题,否则我的答案与原始帖子不匹配。原始帖子已被修改,您的代码运行良好。。非常感谢。