-1

テキストボックスの最大サイズは 11 です。最初の 4 文字をアルファベットとして、次の 7 文字を数字として印刷したいと考えています。JavaScriptのみで解決策を教えてください。

function Myfunction2() {
    var x2 = document.getElementById('text').value;
    var re = /^[A-za-z]+$/;
    for (i = 0; i < 4; i++) {
        y = x2charAt(i);
        if (re.test(x2.value)) {
            alert("please enter char only");
        }
    }
}

function Myfunction() {
    var x = document.getElementById("text").value;
    for (i = 5; i < 11; i++) {
        y = x.charAt(i);
        if (y == " " || isNaN(y)) {
            alert("not numeric");
        }
    }
}
4

1 に答える 1

1

予想されるパターンに対してテストします。

/^[a-z]{4}[0-9]{7}$/i.test(value);

これを実際の入力要素にバインドして、キーストロークごとにテストすることもできます。

​var supercode = document.getElementById("supercode"),
    rePattern = /^[a-z]{4}[0-9]{7}$/i;

supercode.addEventListener("keyup", function(e){
    this.style.borderColor = rePattern.test(this.value) ? "green" : "red" ;
}, false);

デモ: http://jsfiddle.net/RfMK7/

于 2012-11-19T03:10:43.173 に答える