<input name="textfield" type="text" maxlength="22" />设置文本框的maxlength="22"

解决方案 »

  1.   

    function isTooLong(controlName,Message,maxlength)
    {
        var con = document.getElementById(controlName);
        var str = con.value;
        str = escape(str);
        for (i = 0,len=0; i < str.length; i++, len++) {
            if (str.charAt(i) == "%") {
                if (str.charAt(++i) == "u") {
                    i += 3;
                    len++;
                }
                i++;
            }
        }
        if(len > maxlength){
            alert(Message);
            con.focus();
            return true
        }
        return false
    }
    这个比较好,上面的虽然可以但是判断不了汉字双字节的。
      

  2.   

    lz想要的效果:我的bloghttp://blog.xiaobing.org/article.asp?id=15
      

  3.   

    先等楼主看看1楼的方法是不是适用,再说其它东西也不迟,尽量标签属性、CSS能控制的,就不要用JS了。
      

  4.   

    maxlength="XX"
    这样就行了.汉字也算一个字符
      

  5.   

    <script language="javascript"> 
    var LastCount=0; 
    function CountStrByte(Message,Used) 

    var ByteCount=0; 
    var StrValue=Message.value; 
    var StrLength=Message.value.length; 
    var MaxValue=100; 
    if(LastCount!=StrLength) 

      for(i=0;i <StrLength;i++) 
      { 
        ByteCount=ByteCount+1; 
        if(ByteCount>MaxValue) 
          { 
            Message.value=StrValue.substring(0,i); 
            ByteCount=MaxValue; 
            break; 
          } 
      } 
    Used.innerHTML=ByteCount; 
    }
    else
    Used.innerHTML=ByteCount;

    </script>          <body>
    <br> 
    <br> 
    <textarea name="a" onKeyDown="CountStrByte(a,b);" onkeyup  ="CountStrByte(this,document.getElementById('b'));"></textarea> 
    已输入 <span id=b>0</span>个字(最多可以输入100个字符!) 
      

  6.   

    如果考虑POST表单到数据库,而数据表字段的长度已经设定了,更精确的做法还是要考虑双字节字符的(不仅仅是汉字范围)<html> 
    <head> 
    <title>Javascript判断字符串长度</title>
    </head> 
    <body> 
    <script type="text/javascript">
    function getlengthB(str)
    {
      return str.replace(/[^\x00-\xff]/g,"**").length;
    }
    </script>
    <input type="text" maxlength="10" value="" onblur="alert(getlengthB(this.value))" />
    <body> 
    </html>
      

  7.   

    limitlength.jsfunction limitLength(value, byteLength, title, attribute) {//限制输入框字数  
           var newvalue = value.replace(/[^\x00-\xff]/g, "**");  
           var length = newvalue.length;  
       
           //当填写的字节数小于设置的字节数  
          if (length * 1 <=byteLength * 1){  
                return;  
          }  
          var limitDate = newvalue.substr(0, byteLength);  
          var count = 0;  
          var limitvalue = "";  
         for (var i = 0; i < limitDate.length; i++) {  
                 var flat = limitDate.substr(i, 1);  
                if (flat == "*") {  
                      count++;  
                }  
         }  
         var size = 0;  
         var istar = newvalue.substr(byteLength * 1 - 1, 1);//校验点是否为“×”  
        
        //if 基点是×; 判断在基点内有×为偶数还是奇数   
         if (count % 2 == 0) {  
                  //当为偶数时  
                size = count / 2 + (byteLength * 1 - count);  
                limitvalue = value.substr(0, size);  
        } else {  
                //当为奇数时  
                size = (count - 1) / 2 + (byteLength * 1 - count);  
                limitvalue = value.substr(0, size);  
        }  
       alert(title + "最大输入" + byteLength + "个字节(相当于"+byteLength /2+"个汉字)!");  
       document.getElementById(attribute).value = limitvalue;  
       return;  
    }  <script type="text/javascript" src="limitlength.js"></script>
    <input type="text" name="uid"  id="uid" onkeyup="limitLength(value,10,'语义说明:','uid'); " />
      

  8.   

    限定文本框输入字符数,最简单的就是:设置文本框的maxlength的值.在我们写代码的时候,同样的效果,代码要越简单越好.
      

  9.   

     <input name="textfield" type="text" maxlength="12">
      

  10.   

    15楼的代码我收藏了。http://www.java2000.net/p7959
      

  11.   

    <input name="textfield" type="text" maxlength="22" />