文本框的最大大小为 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");
}
}
}
根据预期的模式对其进行测试:
/^[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/