如何在jquery中验证第一个alpha而不是数字

时间:2018-01-14 11:48:08

标签: javascript jquery validation

我在jquery中编写了一个验证规则,只检查数字,现在我想添加新的验证规则是前三位数字,然后是jquery中的6位数字。 我怎样才能做到这一点。 这里是我唯一的数字验证码。

$(".mrn").keypress(function (e) {
 //if the letter is not digit then display error and don't type anything
 if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
    //display error message
    $("#errmsg").html("Digits Only").show().fadeOut("slow");
           return false;
}

1 个答案:

答案 0 :(得分:1)

我认为按下按钮检查按下的字符是否有效是不明智的。最好在用户完成输入时检查一次并离开DOMElement:

$(".mrn").focusout(function()
{
    //Assuming the .mnr class is also the textbox:
    var input = $(this).val();
    var regex = /^\w{3}\d{6}$/; //match against the described pattern.
    if (!regex.test(input)) {
       $("#errmsg").html("Digits Only").show().fadeOut("slow");
       return false;
    }
    return true;
});

通过这种方式,用户可以自行设置拼写错误并进行纠正,维护逻辑所需的代码更少,性能也更好一些。