如图,想根据用户输入的内容给出提示,输入框下面的字符计数没有问题,但是后面的判断却不起作用,我的代码哪里出问题了?
window.onload=function(){
//省略了变量申明部分
username.onkeyup=function(){
//判断输入长度的语句
count.style.visibility="visible";
name_length=getLength(this.value);
count.innerHTML=name_length+"个字符";
if (name_length===0) {
count.style.visibility="hidden";
}
//判断输入内容的语句
if (re.test(this.value)) {
name_msg.innerHTML='<img class="notice" src="./images/notice_red.png">含有非法字符';
}else if (this.value==="") {
name_msg.innerHTML='<img class="notice" src="./images/notice_red.png">不能为空';
}else if (this.length>25) {
name_msg.innerHTML='<img class="notice" src="./images/notice_red.png">长度超过25个字符';
}else if (this.length<6) {
name_msg.innerHTML='<img class="notice" src="./images/notice_red.png">长度少于6个字符';
}else{
name_msg.innerHTML='<img class="notice" src="./images/ok_green.png">';
}
}
}
无论我输入了什么都是对号,除非清空提示“不能为空”。
为何用this.length判断而不是用getLength获取到的-长度判断,或是用this.value.length。