您的昵称可以由小写英文字母、中文、数字组成, 长度4-20个字符,一个汉字为两个字符。 

解决方案 »

  1.   


    function check(str){
     return !!str.replace(/[^\x00-\xff]/g,"**").match(/^.{4,20}$/)
    }
    alert( check("测试测试测试测试测试测试") );
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function check(a){
    var reg=/^[\u4e00-\u9fa5\da-zA-Z]+$/;
    var v=a.value;
    if(reg.test(v)){
    var reg2=/[\u4e00-\u9fa5]/g;
    var m=v.match(reg2);
    var k=a.value.length+m.length;
    if(k<4||k>16){
    alert("长度鉴于4到16");
    }
    }else{
    alert("只能是数字和字母的组合");
    }
    }
    </script>
    </head><body>
    <input type="text" onblur="check(this)">
    </body>
    </html>
    大体这样试试  
      

  3.   

    加了判断字符类型function check(str){
     return  /^[a-z\u4e00-\u9fa5\d]+$/.test(str)&& !!str.replace(/[^\x00-\xff]/g,"**").match(/^.{4,20}$/)
    }
    alert( check("测试测试测试12aA") );
      

  4.   

    Quote: 引用 3 楼 hhwyyda 的回复:

    引用 2 楼 zzgzzg00 的回复:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <m……[/quote我直接引用你这个 不好使