大家帮我看一下这代码,用户名验证老一直通不过,是哪里的问题呢?function checkuser(uname){
var regu = /^[a-zA-Z][0-9a-zA-Z]{4,16}$/;
if(!regu.test(uname)){
document.getElementById("duser").innerHTML="<font color='red'>用户名必须由字母,数字,下划线组成!</font>";
document.forms[0].user.select();
return false;
}
document.getElementById("duser").innerHTML="";

解决方案 »

  1.   

    什么问题这样是没问题的  5到17位 必须以字母开头?
    <script type="text/javascript">
    function checkuser(uname){
    var regu = /^[a-zA-Z][0-9a-zA-Z]{4,16}$/;
    if(!regu.test(uname)){return false;
    }
    return true;

    alert( checkuser('a123123') )
    </script>猜是你的id没定义
      

  2.   

    那些验证通不过?
    改成这样试试
    var regu = /^[a-zA-Z]\w{4,16}$/;
      

  3.   

    正则没问题,uname有没有空格什么的function checkuser(uname){
    var regu = /^[a-zA-Z][0-9a-zA-Z]{4,16}$/;
    if(!regu.test(uname)){
    document.getElementById("duser").innerHTML="<font color='red'>用户名必须由字母,数字,下划线组成!</font>";
    document.forms[0].user.select();
    return false;
    }
    document.getElementById("duser").innerHTML="";
    return true;
    }
      

  4.   

    带参函数有问题吧,调用方法的时候的参数在调试的时候,其实是未下定义的....你可以试着不要带参的,uname在函数里面定义...
      

  5.   

    var regu = /^[a-zA-Z]\w{4,16}$/;