我需要一个密码正则表达式,其中必须包含:
- 至少一个大写字符
- 至少一个小写字符
- 至少一位数字
- 至少有一个符号字符来自:`~!@#$%^&*()_-+={}[]|:;"'<>,.?/和空格字符
- 最小长度应为 6 ch。
到目前为止我想出了这个:
^\S*(?=\S{6,})(?=.*[A-Z])(?=.*[a-z])(?=.*\d)([`\~\!@#\$%\^&\*\(\)_\-\+={}\[\]\|:;"'<>,\.\?\/ ])\S*$
但由于某种原因,它没有像我希望的那样工作。我一直在这些事情上遇到麻烦,所以任何帮助将不胜感激。 谢谢。
最佳答案
作为单个正则表达式,这不太容易表达。由于您已标记“javascript”,因此我将在 JS 中执行此操作。
function validatePassword(password) {
return password.length >= 6 &&
/[A-Z]/.exec(password) &&
/[a-z]/.exec(password) &&
/[0-9]/.exec(password) &&
/[ `~!@#$%^&*()_-+={}\[\]|:;"'<>,.?\/]/.exec(password);
}
关于javascript - 密码正则表达式 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710033/