簡體   English   中英

密碼驗證無法使用Javascript

[英]Password validation won't work Javascript

試圖讓我的頁面使用長度為8個或更多字符的密碼,其中包含數字和字母,但是密碼不起作用,我不明白為什么。 密碼有效后,會將用戶帶到成功頁面。

CODE:

<script>
  $(document).ready(function() {
    $("#submit").click(function() {

      var name = document.getElementById("name").value;
      var email = document.getElementById("email").value;
      var password = document.getElementById("password").value;
      var confirm = document.getElementById("confirm").value;
      var valid = password.length >= 8 // at least 8 characters
                  && /[a-z]/.test(password) // contains a lowercase letter
                  && /\d/.test(password) // contains a digit


      var dataString = 'name=' + name + '&email=' + email + '&password=' + password;
      console.log(dataString);
      if (name == '' || email == '' || password == '') {
        alert("Fill in empty fields");
      }
      if (password != confirm) {
        alert("Passwords do not match.");
      } else if (password == confirm && password != valid) {
        alert("Password not valid.");
      } else if(password == '' && confirm == '' && password == confirm) {
        alert("password can't be empty");
      } else {
        alert("matched");
        window.location="newpage.html"
      }
      return false;
    });
  });
</script>

請幫我 :(

if(password == confirm && !valid)

應該是那樣。

與其將其分解為更小的功能,不如將其分解為一個巨大的功能。 這樣更容易管理任何錯誤,錯誤,維護等。

現在,專門回答關於“密碼驗證功能”的問題,請檢查此代碼段。

 (function($){ $(function(){ var isPasswordValid = function(password){ return password.length >= 8 && /[az]/.test(password) && /\\d/.test(password) } console.log('Is "weakpwd" valid?', isPasswordValid('weakpwd')); console.log('Is "atLeastEightChars" valid?', isPasswordValid('atLeastEightChars')); console.log('Is "Gr3atPassword!" valid?', isPasswordValid('Gr3atPassword!')); }) })(jQuery) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

我使用了與密碼相同的檢查方法...很好! 這意味着您遇到的問題不在別的地方,而不是在密碼檢查步驟中。

干杯,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM