Javascript:验证多个密码并确认密码字段

标签 javascript jquery arrays

请帮忙,如果密码不相等,我该如何验证这个多重密码并确认密码?如果第一个 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">

关于Javascript:验证多个密码并确认密码字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968881/

相关文章:

javascript - AngularJS ngclick 切换函数调用

javascript - 如何从按一个值筛选的对象数组创建新数组?

php - 如何制作包含最大长度的组合数组?

javascript - 在 FireBug 中如何判断 Ajax 请求后从服务器发回的 JavaScript 是什么?

javascript - 停止某些链接(包含特定字符串的 href)工作

javascript - 使用 jQueryeach 循环访问 API

javascript - 如何人性化angularjs中的持续时间?

php - 使用 Ajax 的异步 PHP 查询?

c - 初学者从结构数组中删除第一个元素 (C)

javascript - Rails 3 - 使用 javascript 将部分添加到嵌套表单