1

我正在研究密码验证脚本。

以下代码适用于数字、大小写字母。

唯一的问题。按空格键,长度大于8,显示返回true。

不允许只有特殊字符。

$("#password").keyup(function () {
    var validated = true;
    if (this.value.length < 8)
        validated = false;
    if (!/\d/.test(this.value))
        validated = false;
    if (!/[a-z]/.test(this.value))
        validated = false;
    if (!/[A-Z]/.test(this.value))
        validated = false;
    if (!/[@#$%\&^\-\+=!*.?~]/.test(this.value))
        validated = false;
    if (/[^0-9a-zA-Z@#$%^&+=!*,.?~]/.test(this.value))
        validated = false;
    $('#password_strength').text(validated ? "Good" : "Too Weak");
4

1 回答 1

0

使用正则表达式检查密码中的符号时,您需要对它们进行转义,以便将它们视为文字字符,而不是字符的正则表达式含义。有关更多信息,我建议您查看:

http://www.javascriptkit.com/javatutors/redev2.shtml

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions

于 2013-04-18T02:01:15.293 回答