使用正则表达式和模式验证密码

广告

我们需要检查内部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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章