使用javascript和jquery进行密码验证

时间:2016-04-13 19:46:52

标签: javascript jquery

我正在进行密码验证。我输入密码,然后输入密码。但是在每次按键时它都会给我一个我不想要的刻度标记,而且,即使我输入了错误的密码,它也不会出现给删除图像的其他部分。有人可以帮我吗。我是新来的。

function checkPasswordMatch() {
var password = $("#password").val();
var confirmPassword = $("#verifyPassword").val();

if (password != confirmPassword)
{
    $("#marker").prepend('<img src="https://cdn3.iconfinder.com/data/icons/freeapplication/png/24x24/Apply.png" />');
}

else
{
    $("#marker").prepend('<img src="https://cdn3.iconfinder.com/data/icons/musthave/16/Delete.png" />');
}

}

$(document).ready(function () {
$("#verifyPassword").keyup(checkPasswordMatch);
});

2 个答案:

答案 0 :(得分:0)

为了防止每次输入内容时发生这种情况,您应该更改活动。我建议您在密码字段中使用change事件。参见:

$(document).ready(function () {
    $(document).on('change','#password, #verifyPassword', checkPasswordMatch );
});

答案 1 :(得分:0)

您的方法存在两个问题。

首先,要阻止函数在每次按键时运行,请使用change事件而不是keyup

其次,我认为你在if中使用了==代替!=

function checkPasswordMatch() {
  var password = $("#password").val();
  var confirmPassword = $("#verifyPassword").val();
  if (password == confirmPassword){
    $("#marker").html('<img src="https://cdn3.iconfinder.com/data/icons/freeapplication/png/24x24/Apply.png" />');
  }else{
    $("#marker").html('<img src="https://cdn3.iconfinder.com/data/icons/musthave/16/Delete.png" />');
  }
}
$(document).ready(function () {
  $(document).on('keyup','#verifyPassword', checkPasswordMatch );
});

编辑:更改了keyup事件以匹配请求