我有一个输入,必须检查邮政编码。这就是我现在所拥有的。
$("input[id='postal']").keyup(function count() {
var zipcodeValue = this.value;
zipcodeCheck = zipcodeValue.split(" ").join("");
var regex = new RegExp(/^[0-9]{4}[a-z]{2}$/i);
if (regex.test(zipcodeCheck) == true) {
// something
} else {
// something else
}
});
这是有效的,但我想禁用用户输入四个以上的数字。 邮政编码必须与此1234AB或1234 AB相似,但不能与12345B相同。
我可以在关键字输入时删除第五个/第六个数字吗?
谢谢
答案 0 :(得分:1)
这个怎么样 - http://jsfiddle.net/bS9Q8/
$("#postal").keydown(function(e) {
var zipcodeValue = this.value + String.fromCharCode(e.keyCode);;
if (zipcodeValue.length<5) { return true;}
var regex = new RegExp(/^[0-9]{4}[a-z]{2}$/i);
if (zipcodeValue.length==5) {
regex = new RegExp(/^[0-9]{4}[a-z]{1}$/i);
}
if (regex.test(zipcodeValue) != true) {
return false;
}
});
答案 1 :(得分:0)
尝试keydown事件
$("input[id='postal']").keydown(function (event) {
var zipcodeValue = this.value;
zipcodeCheck = zipcodeValue.split(" ").join("");
var regex = new RegExp(/^[0-9]{4}[a-z]{2}$/i);
if (regex.test(zipcodeCheck) == true) {
// something
} else {
// something else
return false;
}
});