密码RegEx - 无法正常工作

时间:2013-05-23 09:19:26

标签: javascript regex

我需要一个RegEx来获取必须包含的密码:

  • 至少一个大写字符
  • 至少一个小写字符
  • 至少一位数
  • 至少有一个符号字符:`〜!@#$%^&amp; *()_- + = {} [] |:;“'&lt;&gt;,。?/和空格字符< / LI>
  • 的最小长度应为6 ch。

到目前为止,我提出了这个问题:

^\S*(?=\S{6,})(?=.*[A-Z])(?=.*[a-z])(?=.*\d)([`\~\!@#\$%\^&\*\(\)_\-\+={}\[\]\|:;"'<>,\.\?\/ ])\S*$

但由于某种原因,它并没有像我希望的那样工作。我总是遇到这些问题,所以任何帮助都会非常感激。 谢谢。

2 个答案:

答案 0 :(得分:4)

这不是一个单一的正则表达式。正如你标记了“javascript”,这就是我在JS中的表现。

function validatePassword(password) {
  return password.length >= 6 &&
    /[A-Z]/.exec(password) &&
    /[a-z]/.exec(password) &&
    /[0-9]/.exec(password) &&
    /[ `~!@#$%^&*()_-+={}\[\]|:;"'<>,.?\/]/.exec(password);
}

答案 1 :(得分:0)

这应该有效:

/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[`\~\!@#\$%\^&\*\(\)_\-\+={}\[\]\|:;"'<>,\.\?\/ ]).{6,}/;

我如何做到这一点的完整解释是art of web website