【问题标题】:Password validator javascript regular expression密码验证器 javascript 正则表达式
【发布时间】:2013-11-20 19:35:40
【问题描述】:

请帮助我处理正则表达式。我有使用正则表达式验证密码的方法:

/^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,12}$/;

我需要添加密码必须包含 2 个大写字母的条件。

谢谢帮助!

【问题讨论】:

标签: javascript regex


【解决方案1】:

您可以在您的正则表达式中添加另一个前瞻:

/^(?=.*[0-9])(?=(?:[^A-Z]*[A-Z]){2})(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,12}$/;

【讨论】:

    【解决方案2】:

    这是检查密码语法的一种非常丑陋的方式。如果您将检查分成多个步骤,您的代码会更容易阅读和调试。

    例如:

    /* Check for at least 2 capital letters */
    if (!(/[A-Z][^A-Z]*[A-Z]/.test(password))) {
      alert("Your password must contain at least two capital letters");
      return false;
    }
    /* Check for at least 2 lower case letters */
    if (!(/[a-z][^a-z]*[a-z]/.test(password))) {
      alert("Your password must contain at least two lower case letters");
      return false;
    }
    /* Check for at least one digit */
    if (!(/[0-9]/.test(password))) {
      alert("Your password must contain at least one digit");
      return false;
    }
    ... etc ...
    

    【讨论】:

      猜你喜欢
      • 2016-10-03
      • 2013-06-10
      • 1970-01-01
      • 2011-05-06
      • 2016-10-19
      • 2011-03-24
      • 1970-01-01
      相关资源
      最近更新 更多