不是文本框里面有属性(maxlength)控制字节数目的嘛?

解决方案 »

  1.   

    maxlength只是控制字符个数,不会区分英文和汉字的区别。
      

  2.   

    <input value='中国人ABC' onblur="checkLen(this,8);">
    <input>
    <script>
    function checkLen(obj,len){
    //汉字两字节,英文一字节
    var len2=0;
    for(i=0;i<obj.value.length;i++)
    if(obj.value.charCodeAt(i)>="19968")
    len2+=2;
    else
    len2+=1;
    if(len2>len)
    {
    alert("超过长度了");
    obj.focus();
    }
    }
    </script>
      

  3.   

    <input type=text id=ddd maxlength=10 onchange=strlen(this)>
     function strlen(id)
     {
             var str = id.value;
    var len;
    var i;
    len = 0;
    for (i=0;i<str.length;i++)
    {
    if (str.charCodeAt(i)>255) len+=2; else len++;
    }
    if (len == id.maxlength)
                       id.maxlength = str.length;
    }
    刚写的没测试