0

我正在尝试使用javascript验证密码,这是为了确保在更改密码时,输入的新密码等于重新输入新密码的密码(用户被要求输入两次新密码,所以两者必须匹配)但同时,我想确保新密码至少有6个字符长,我分别拥有这些功能但不知道如何组合它们......提前感谢您的帮助!

这是我到目前为止所拥有的......

这是为了确保新密码匹配:

function validatePassword()
    {
     var new_password = document.getElementById("new_password").value;
     var confirm_new_password = document.getElementById("confirm_new_password").value;
     <!-- if they match, go to next page -->
        if ( new_password == confirm_new_password)
          {
             return true;
          }
     <!-- if they don't match, an error message is displayed -->
        else
          {
               alert("Passwords do not match.");
          }
             return false;
    }

这是密码长度:

 function validatePassword()
    {
    if (document.getElementById("new_password").value.length < "5")
    {
    <!--If pasword is less than 5 characters long, display error message-->
    alert("Please ensure your password is at least 6 characters long.");
    return false;
    }
    return true;
    }

我如何将这两者结合起来形成一个单一功能,在其中检查两个新密码以使其匹配,并检查它们是否超过 6 个字符?

4

5 回答 5

1

要结合您的两个功能,这将起作用:

function validatePassword()
{
     var new_password = document.getElementById("new_password").value;
     var confirm_new_password = document.getElementById("confirm_new_password").value;

     if (new_password.length < 5)
     {
         <!--If pasword is less than 5 characters long, display error message-->
         alert("Please ensure your password is at least 6 characters long.");
         return false;
     }
     else if ( new_password != confirm_new_password)
     {
         alert("Passwords do not match.");
         return false;
     }
     else
     {
          return true;
     }
 }

虽然我同意,但那里有更好的程序。请确保您也在进行服务器端验证,因为客户端验证很容易跳过。

于 2013-02-13T12:37:22.663 回答
0

我不确定,但你可以validatePassword()在里面调用这个函数

if ( new_password == confirm_new_password)
{
    validatePassword();
}
于 2013-02-13T12:33:46.350 回答
0

您有两个选择,要么将这两个函数设为一个函数,要么将它们设为两个单独的函数并在提交/处理表单之前调用它们。

if (validatePasswordLength() && validatePasswordsMatch()) {
    // Continue
}
于 2013-02-13T12:35:21.710 回答
0

你必须尝试这个小而有效的代码。

if(document.getElementById("new_password").value != document.getElementById("confirm_new_password").value){
     alert("Passwords do not match.");
    return false;
}
于 2013-02-13T12:46:49.940 回答
0
<script>
function validatePassword()
    {
     var new_password = document.getElementById("new_password").value;
     var confirm_new_password = document.getElementById("confirm_new_password").value;

    if (document.getElementById("new_password").value.length < "5")
    {
    alert("Please ensure your password is at least 6 characters long.");
    return false;
    }
     if (new_password == confirm_new_password)
     {
           alert("Password no match");
           return false;
     }
     return true;
    }
</script>
<form action="" onsubmit="return validatePassword()">
<p>New Password: <input type="password" id="new_password" name="new_password" /></p>
<p>Confirm Password: <input type="password" id="confirm_new_password" name="confirm_new_password" /></p>
<p><input type="submit" value="submit" /></p>
</form>
于 2013-02-13T12:49:27.147 回答