0

郵便番号をチェックする必要がある入力があります。これは私が現時点で持っているものです。

$("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
    }
});

これは機能していますが、ユーザーが 4 つ以上の数字を入力できないようにしたいと考えています。郵便番号は、1234AB または 1234 AB のようにする必要がありますが、12345B のようにすることはできません。

これをキーアップで入力したときに、5 番目または 6 番目の数字を削除できますか?

ありがとうございました

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

キーダウンイベントを試す

$("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 に答える