正则表达式://///////////判断中文字符长度//////////
<script language="JavaScript">
function CLength(str)
{
re=/[\u4E00-\u9FA5]/g;
if(re.test(str))
    return str.match(re).length;
else return 0;
}
</script>

解决方案 »

  1.   

    用js的charCodeAt方法也可以判断汉字
      

  2.   

    1.<input onkeypress="testCode()" onpaste="return false">
    <script language="javascript">
    function testCode()
    {
      if (event.keyCode < 0x4e00 || event.keyCode > 0x9fa5)
        event.keyCode = 0;
    }
    </script>
      

  3.   

    只能是汉字:<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
      

  4.   

    非常感谢各位的帮助,我用昨晚用charCodeAt解决了问题,现提供出来大家一起参考,办法比较土,不过满实用的。
    楼上各位用正则表达式确实,让我受益非浅,能否介绍一些java的正则表达式的参考资料。<html>
    <body>
    <script language="javascript">
    function GetByteLength(index)
    {
    var s = document.all(index).value;
    var l= s.length;
    var i=0;
    var c=0;
    var actLength=l;
    while(i<l){
    c=s.charCodeAt(i);
    if(c>255)
    actLength++;
    i++;
    }
    return(actLength);
    }function CheckMaxlength()
    {
    var byteLen,maxLen;
    for(i=0;i<document.all.length;i++)
    {
    if(document.all(i).type == "text")
    {
    byteLen = GetByteLength(i);
    maxLen = document.all(i).maxLength;
    if((maxLen > 0) && (maxLen < byteLen))
    {
    document.all(i).focus();
    alert("输入的内容 "" + document.all(i).value + "" 超过实际长度\n最多输入" + Math.floor(maxLen/2).toString() + "个汉字或"+ maxLen + "个字母");
    document.all(i).set
    return(false); 
    }
    }
    }
    return(true);
    }function CLength(index)
    {
    var str=document.all(index).value;
    //alert(str);
    re=/[\u4E00-\u9FA5]/g;
    if(re.test(str))
    {
        //alert(str.match(re).length);
        return str.match(re).length;
    }
    else return 0;
    }
    </script>
    <input type="text" name="test" size=100 value="dddd测试定居点军军ddafa" maxlength="25"><br>
    <input type="text" name="test1" size=100 value="dddd测试定居dd点军军ddafa" maxlength="24"><br>
    <input type="Text" name="test2" size=100 value="dddd测试定居dd点军军ddafa" maxlength="10"><br>
    <input type="button" onClick="CheckMaxlength()" value="test length">
    </body>
    </html>