用户名可以由字母、数字、下划线和中文组成,以中文或字母开头,长度为6-16位我是这么写的:/^([a-zA-Z]|[u4E00-u9FA5]){1}([a-zA-Z0-9]|[u4E00-u9FA5]|[_]){5,15}$/;
但是验证不成功,不能输入中文,麻烦大家指导一下另外中文的长度和普通字母或数字是不是一样的?如果不是该怎么控制?

解决方案 »

  1.   

    不要忘记加“\”
    [\u4E00-\u9FA5]
      

  2.   

    /^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9_\u4E00-\u9FA5]{5,15}$/;例子:
    <script language="javascript">function checkusr()
    {
    // var reg=/^([a-zA-Z]|[\u4E00-\u9FA5])([a-zA-Z0-9]|[\u4E00-\u9FA5]|[_]){5,15}$/; 
    var reg=/^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9_\u4E00-\u9FA5]{5,15}$/;
    var textstr=document.getElementById("usr").value;
    if(reg.test(textstr))
    alert("ok");
    else 
    alert("no");
    }
    </script><input type="text" id="usr" />
    <input type="button" onclick="checkusr()" value="验证" />