<script>
function test(val, min, max){
var reg = /[^\u4e00-\u9fa5\w]/;
if(!reg.test(val)){
var val = val.replace(/[\u4e00-\u9fa5]/g,'aa');
return(val.length >= min && val.length<=max);
}
return false;
}

alert(test('中华人民共和国', 5, 15)); // true
alert(test('中华人民共和国呵', 5, 15)); // false
</script>

解决方案 »

  1.   

    function checkUsername(s)
    {
    //要求:5-20位字符,允许汉字,英文字母,数字和下划线,不能是纯数字
    if(s.length<=5 || s.length>=20)
    {
    return false;
    }
    var reg=new RegExp("^[_\\da-zA-Z0-9\\u4e00-\\u9fa5]*$","g");
    var reg2=new RegExp("^[0-9]*$","g");
    var rs=s.search(reg);
    var rs2=s.search(reg2);
    if(rs!=-1 && rs2==-1 && s!='')
    {
    return true;
    }
    else
    {
    return false;
    }
    }
      

  2.   

    <script>
    function checkText(val)
    {
      var reg=/^[_a-zA-Z0-9\u4e00-\u9fa5]+$/;
      if(reg.test(val))
      {
        var val = val.replace(/[\u4e00-\u9fa5]/g,'xx');
        if(val.length>= 5 && val.length<=20)
        {
          alert('true');
        }
        else
        {
          alert('false');
        }
      }
      else
      {
        alert('false');
      }
    }
    </script>
    <input onblur="checkText(this.value)" />
      

  3.   

    把楼上的综合了一下,结果
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD><BODY><script language="javascript">
    //验证字符串长度,每个汉字长度为2
    function checkLength(s, min, max){
       var reg = /[^\u4e00-\u9fa5\w]/;
       if(!reg.test(val)){
          var val = s.replace(/[\u4e00-\u9fa5]/g,'aa');
          return (val.length >= min && val.length<=max);
       }
       return false;
    }//要求:5-20位字符,允许汉字,英文字母,数字和下划线,不能是纯数字 
    function checkUsername(s) 

      //5-20位字符
      if(!checkLength(s, 5, 20)) 
      { 
         return false; 
      } 
      var reg = new RegExp("^[_\\da-zA-Z0-9\\u4e00-\\u9fa5]*$","g");  //允许汉字,英文字母,数字和下划线
      var reg2 = new RegExp("^[0-9]*$","g");   //不能是纯数字 
      var rs = s.search(reg); 
      var rs2 = s.search(reg2); 
      if(rs!=-1 && rs2==-1 && s!='') 
      { 
         return true; 
      } 
      else 
      { 
         return false; 
      } 
    }alert("中文长度验证" + checkLength('中华人', 5, 20));  //
    alert(checkUsername('中华人'));  //
    alert(checkUsername('中华人民234'));  //  
    alert(checkUsername('中华人as2AS_')); //  
    alert(checkUsername('123123123'));    //  </script></BODY>
    </HTML>