0

在密码重置表单上,我正在验证两个密码输入(密码和密码 2)以确保它们与正则表达式匹配,具有一定的长度并相互匹配。任何问题都会突出显示有问题的输入并抛出错误消息。

要根据正则表达式检查两个输入和长度,我使用了“每个”函数,但它不起作用。事实上,当它在那里时,整个 checkform() 函数似乎没有运行(我用警报框测试了它——当我删除警报显示的每个函数时,当它在那里时,它没有)。

这是脚本:

  function checkform(){

alert("function running");
regex=/^[a-zA-Z0-9_]+$/;    

//This each function stops checkform() from running //

$("#password, #password2").each(function() {
    if($(this).val().length>5){
        $(this).css('border', '');
    } else {
        $(this).css('border', '1px solid red');
        $("#errormsg").html("Oops! Please enter a valid password");
        return false;           
    }
}
//End of problem code

if($("#password").val() != $("#password2").val()){
    $("#password").css('border', '1px solid red');
    $("#password").css('border', '1px solid red');
    $("#errormsg").html("Oops! Your passwords don't match");
    return false;
    } else {
        $("#errormsg").empty();
    }
   return true;
   }

任何人都可以看到问题是什么?

谢谢

4

1 回答 1

0

这是正确的代码

function checkform(){

    alert("function running");
    regex=/^[a-zA-Z0-9_]+$/;    

    //This each function stops checkform() from running //

    $("#password, #password2").each(function() {
        if($(this).val().length>5){
            $(this).css('border', '');
        } else {
            $(this).css('border', '1px solid red');
            $("#errormsg").html("Oops! Please enter a valid password");
            return false;           
        }
    }); // <-- close the "(" of the each function
    //End of problem code

    if($("#password").val() != $("#password2").val()){
        $("#password").css('border', '1px solid red');
        $("#password").css('border', '1px solid red');
        $("#errormsg").html("Oops! Your passwords don't match");
        return false;
        } else {
            $("#errormsg").empty();
        }
       return true;
       }
于 2013-11-15T10:08:21.277 回答