javascript - 当两个字段都为空时,检查密码匹配返回 "Passwords match"

标签 javascript jquery passwords

我正在制作一个注册表单,我想检查用户在输入时是否有匹配的密码,并给他适当的消息。到目前为止,除了这些之外,一切正常:

  • 当用户删除确认密码字段中的所有内容时,它仍然存在 当我想给他的时候给他一条消息“密码不匹配” 没有消息或消息说“请确认密码”。
  • 当 用户删除了两个字段中的所有内容,这给了他一条消息 “密码匹配”,但它根本不应该给他任何消息。

这是我的代码:

$(function () {
   $("#txtNewPassword").keyup(checkPasswordMatch);
   $("#txtConfirmPassword").keyup(checkPasswordMatch);
});


function checkPasswordMatch() {
    $("#divCheckPasswordMatch").html("");
    var password = $("#txtNewPassword").val();
    var confirmPassword = $("#txtConfirmPassword").val();

    if (password == "" && confirmPassword == ""){
        $("#divCheckPasswordMatch").html("");
        $("#divIsPasswordExist").html("");
    }
    else if (password != "" && confirmPassword == "") {
        $("#divCheckPasswordMatch").html("");
    }

    else if (password == "" && confirmPassword != "")
        $("#divIsPasswordExist").html("Password cannot be empty!");
    else
        $("#divIsPasswordExist").html("");


    if (password != confirmPassword)
    {
        $("#divCheckPasswordMatch").removeClass("registrationFormConfirm");
        $("#divCheckPasswordMatch").addClass("registrationFormAlert");
        $("#divCheckPasswordMatch").html("Passwords do not match!");
    }
    else
    {
        $("#divCheckPasswordMatch").removeClass("registrationFormAlert");
        $("#divCheckPasswordMatch").addClass("registrationFormConfirm");
        $("#divCheckPasswordMatch").html("Passwords match.");
    }
}

请问有什么想法吗? 谢谢!

最佳答案

这是因为 if (password !=confirmPassword) 为 false,因为当您设置 var password = $("#txtNewPassword").val(); 时,两者都是空的。 var verifyPassword = $("#txtConfirmPassword").val(); 它们彼此相等。您应该在检查值是否为空后添加一个返回,这样当用户删除文本时,它不会检查第一个检查语句下面的任何内容。

//首先检查

if (password == "" && confirmPassword == ""){
return false;
}

...其余代码

关于javascript - 当两个字段都为空时,检查密码匹配返回 "Passwords match",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785860/

相关文章:

c# - 如何使用azure Active Directory b2c覆盖忘记密码的调用功能

javascript - 在自定义数据属性中调用函数?

javascript - 链接悬停故障 - 基本 UL 链接使页面在悬停时跳转?

javascript - Chrome 和 IE 上的断断续续/滞后滚动事件

javascript - 单击使用 jquery 固定的位置上的 nav

linux - 这是 7z 9.20 for linux 中的错误(密码中的 $ 字符)吗?

javascript - 如何为Azure存储生成帐户SAS token ?

javascript - 单击一个 div 使另一个 div 出现/消失

javascript - event.preventDefault() 不工作

algorithm - 使用哈希在数据库中存储密码的替代方法