0

javascriptを使用してパスワードを検証しようとしています。パスワードを変更するときに、入力した新しいパスワードが新しいパスワードの再入力のパスワードと同じであることを確認する必要があります(ユーザーは新しいパスワードを2回入力するように求められるため、両方一致する必要があります)しかし同時に、新しいパスワードが少なくとも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;
    }

これらの両方を組み合わせて、2つの新しいパスワードが一致するようにチェックされ、6文字より長いこともチェックされるSINGLE関数を形成するにはどうすればよいですか?

4

5 に答える 5

1

2つの機能を組み合わせるだけで、これは機能します。

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

2つのオプションがあります。2つの関数を1つの関数にするか、2つの別々の関数にして、フォームを送信/処理する前に両方を呼び出します。

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

よくわかりませんが、validatePassword()この関数を内部で呼び出すことができます

if ( new_password == confirm_new_password)
{
    validatePassword();
}
于 2013-02-13T12:33:46.350 に答える
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 に答える