簡體   English   中英

Javascript:驗證多個密碼並確認密碼字段

[英]Javascript: Validate multiple password and confirm password field

請幫忙,我如何驗證這個多密碼並確認密碼是否不相等? 如果第一個judge_password []和juge_conPassword []不相等則返回false,然后再次迭代到下一個。

<input type="password" name="judge_password[]" class="judge_password"> 
<input type="password" name="judge_conPassword[]" class="judge_conPassword"> 

<input type="password" name="judge_password[]" class="judge_password"> 
<input type="password" name="judge_conPassword[]" class="judge_conPassword"> 

<input type="password" name="judge_password[]" class="judge_password"> 
<input type="password" name="judge_conPassword[]" class="judge_conPassword"> 
<input type="button" id="click">

我的代碼

var judge_conPassword = [];

$('.judge_conPassword').each(function(){
    var theVal = $(this).val();
    if($.trim($(this).val())==''){
        pralse = false;
        $('.trigger_danger_alert_changable').show().delay(5000).fadeOut();
        $('#palitan_ng_text').html('Confirm password required');
        return false;
    }
    judge_conPassword.push(theVal );
});



var judge_password = [];

$('.judge_password').each(function(){
    var theVal = $(this).val();
    if($.trim($(this).val())==''){
        pralse = false;
        $('.trigger_danger_alert_changable').show().delay(5000).fadeOut();
        $('#palitan_ng_text').html('Password cannot be empty');
        return false;
    }
    judge_password.push(theVal);
});

if(!pralse){
    return false;
}

function checkPass(judge_password, judge_conPassword){
    if(judge_password.length !== judge_conPassword.length){
        alert('password missing')
    }else{
        var j_count = judge_password.length;
        for(var i=0; i<j_count; i++){
            if(judge_password[i] !== judge_conPassword[i]){
                alert('Password not same');
                return false;
            }
        }
                return true;
    }

}
checkPass();

編輯:請注意,我在看到將JS添加到問題的編輯之前發布了這個答案,所以我剛剛關閉了OP的HTML。

這是我想到的第一種方式。 我添加了一個mismatch類來突出顯示有問題的字段:

 $("#click").click(function() { var passwords = $("input.judge_password").removeClass("mismatch"), confirms = $("input.judge_conPassword").removeClass("mismatch"), valid = true; passwords.each(function(i) { if (this.value != confirms[i].value) { valid = false; $(this).add(confirms[i]).addClass("mismatch"); } }); if (!valid) { alert("Passwords don't match."); } else { // submit or whatever here alert("Passwords match."); } }); 
 .mismatch { background-color: red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="password" name="judge_password[]" class="judge_password"> <input type="password" name="judge_conPassword[]" class="judge_conPassword"> <br><br> <input type="password" name="judge_password[]" class="judge_password"> <input type="password" name="judge_conPassword[]" class="judge_conPassword"> <br><br> <input type="password" name="judge_password[]" class="judge_password"> <input type="password" name="judge_conPassword[]" class="judge_conPassword"> <br><br> <input type="button" id="click" value="Test"> 

你沒有比較這些值

if(judge_password[i].value !== judge_conPassword[i].value) 

暫無
暫無

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

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