-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 回答