我们需要检查内部Web CRM的安全密码是否正确记录。
有没有一种方法可以验证给定的安全密码,例如"$$$$Addy1234"
?
此密码字符串包含4个特殊字符,4个字母和4个数字,并且字母部分应包含一个大写字母和一个小写字母字符。
我尝试过的正则表达式适用于所有情况,但是在字母中,我需要至少获得一个大写和一个小写字符。
我尝试了以下操作,但无法解决:
$("#btn_submit").click(function () {
if ($("#txt_pasword").filter(function () {
return this.value.match(/^([-\/@#!*$%^&.'_+={}()]{4})([a-zA-Z]{4})([0-9]{4})$/);
})) {
$("#txt_pasword").parent().child("span").text("pass");
} else {
$("#txt_pasword").parent().child("span").text("fail");
}
});
请提供一个想法,我该怎么做?
先感谢您。
感谢所有为我提供此问题解决方案的人,主要是@ kalaiselvan-a和@ ronnie-oosting。
但是,从@ kalaiselvan-a的想法来看,几乎没有什么问题,但是这可以帮助我相应地找到解决方案。
使用的正则表达式是:
/^([-\/@#!*$%^&.'_+={}()]{4})((?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{4})([0-9]{4})$/
第一个捕获组 ([-\/@#!*$%^&.'_+={}()]{4})
完全匹配列表中的4个字符@#!*$%^&.'_+={}()
(区分大小写)
第二个捕获组 ((?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{4})
匹配列表中的正好是4倍的字符[a-z]
,并[A-Z]
与各一个
第三捕获组 ([0-9]{4})
与列表中存在的字符精确匹配4次[0-9]{4}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句