文本框的最大大小为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");
}
}
}
答案 0 :(得分: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);