实时监测text输入框的值是否合法
<script>
var input_a=document.getElementsByClassName("input-a")[0];
var input_b=document.getElementsByClassName("input-b")[0];
var countdiv=document.getElementsByClassName("count")[0];
var i_a=document.getElementsByTagName("i")[0];
var reg=/[^\w\u4e00-\u9fa5]/g;
var value=null;
var selfvalue=null;
input_a.onfocus=function(){
i_a.style.display="block";
input_a.onkeyup=function(){
var count=countNum(this.value);
countdiv.innerText=count == 0? null:count+"个字符";
if(reg.test(this.value)){
i_a.innerText="含有非法字符!";
i_a.className="warn iconerror";
}
else if(this.value == ""){
i_a.innerText="不能为空!";
i_a.className="warn iconerror";
}
else if(this.value.length < 5){
i_a.innerText="不能小于五个字符!";
i_a.className="warn iconerror";
}
else if(this.value.length > 25){
i_a.innerText="不能大于25个字符!";
i_a.className="warn iconerror";
}
else if(!reg.test(this.value)){
i_a.innerText="填写正确哦!";
i_a.className="warn iconright";
}
}
}
function countNum(str){
var len=str.length;
for(var i=0;i<str.length;i++){
if(str.charCodeAt(i) > 255){
len++;
}
}
return len;
}
</script>但是总感觉哪里不对,大佬们帮我改进一下吧