我在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;
}
答案 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;
});
通过这种方式,用户可以自行设置拼写错误并进行纠正,维护逻辑所需的代码更少,性能也更好一些。