0

ik 有一个必须检查邮政编码的输入。这是我目前所拥有的。

$("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。

在 keyup 上键入时,我可以删除第五/第六个数字吗?

谢谢

4

2 回答 2

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;        
    }
});
于 2013-11-13T09:37:41.393 回答
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;
 }

});
于 2013-11-13T09:29:07.077 回答