如何解决 登陆时验证正则 第二次会显示不符合正则规则的问题。

在执行验证的函数中添加 namere.lastIndex =0; 就可以解决。如:

ainput[0].onblur = function (){
  namere.lastIndex =0;
  checkName();
}

 

function checkName (){
  if(namere.test(ainput[0].value)){
    awaring[0].innerHTML="<i class='right'></i>用户名合法";
    awaring[0].style.color="green"
  }
  else if (ainput[0].value.length<5){
    awaring[0].innerHTML="<i class='wrong'></i>用户名最短为5位字符";
    awaring[0].style.color="#FF8247";
  }
  else if(ainput[0].value.length>12){
    awaring[0].innerHTML="<i class='wrong'></i>用户名最多为12位字符";
    awaring[0].style.color="#FF8247";
  }
  else {
    awaring[0].innerHTML="<i class='wrong'></i>请输入合法字符";
    awaring[0].style.color="#FF8247";
  }
}

posted @ 2016-03-29 22:06  稍微有点色  阅读(373)  评论(0编辑  收藏  举报