2013-02-13 6 views
0

자바 스크립트를 사용하여 비밀번호의 유효성을 검사하려고합니다. 비밀번호를 변경할 때 입력 한 새 비밀번호와 새 비밀번호를 다시 입력 한 비밀번호가 같아야합니다. 새로운 암호를 두 번 그래서 둘 다 일치해야하지만 동시에, 나는 새로운 암호가 적어도 6 문자 길이가 있는지 확인하려면, 내가 별도로 이러한 기능을 가지고 있지만 그들을 결합하는 방법을 알고 ... 감사합니다 사전에 도와주세요!비밀번호 확인

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; 
    } 

방법 :

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; 
    } 

이 암호의 길이입니다 : 이것은 내가 지금까지 무엇을 가지고

...

이 확인 새 암호가 일치하는 것입니다 나는 두 개의 새로운 암호를 검사하여 일치하도록 SINGLE 함수를 구성하고 두 문자가 6 문자보다 긴지 확인합니다.

+1

참고로, 드롭 박스가 암호 검증 JS를 발표하고 지금까지 내가 본 것 중에 최고입니다 - https://tech.dropbox.com/2012/04/zxcvbn-realistic-password-strength- 견적/ –

답변

1

if (validatePasswordLength() && validatePasswordsMatch()) { 
    // Continue 
} 
은 당신의 두 가지 기능을 결합하려면이 작동합니다 : 동의하지만

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; 
    } 
} 

이, 거기에 더 나은 방법이있다. 그리고 클라이언트 쪽 유효성 검사를 건너 뛰기가 매우 쉽기 때문에 서버 측 유효성 검사를 수행하고 있는지 확인하십시오.

+0

도움을 주셔서 감사합니다.이 프로젝트는 내 학교 프로젝트를위한 것이므로 새로 입문했지만 조언 해 주셔서 감사합니다. – user1930227

+0

@ user1930227 - np, 기꺼이 도와 드리겠습니다. 그래도 모범 사례를 배우기에는 너무 이르다. 행운을 빌어 요. – sgeddes

+0

6 자 이상의 암호를 입력하면 두 암호가 일치하지 않아도 업데이트가 진행되지만 약간의 문제가 있습니다. 예 : new_password = abcdefg (6 이상) 및 confirm_password = abc (같지 않음) 인 경우 비밀번호가 업데이트됩니다. – user1930227

0

메신저 확실하지만 당신은 validatePassword()에게 당신은 두 가지 옵션이 있습니다

if (new_password == confirm_new_password) 
{ 
    validatePassword(); 
} 
0

내부에이 함수를 호출하거나 두 기능을 하나의 기능을 만들거나 그들에게 두 개의 별도의 기능을하고 그들을 호출 할 수 있습니다 둘 제출하기 전에/양식을 처리하십시오.

+0

두 개의 함수를 단일 함수로 만들고 두 번째 함수는 다른 페이지의 함수로 만듭니다. – user1930227

0

이 코드는 작고 작동해야합니다.

if(document.getElementById("new_password").value != document.getElementById("confirm_new_password").value){ 
    alert("Passwords do not match."); 
    return false; 
} 
+0

도움을 주셔서 감사합니다, 나는 지금 일하고 있어요 :) – user1930227

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> 
+0

안녕, 도와 줘서 고마워,하지만 난 그것을 고쳤어 :) – user1930227