数据库可以存4个字符
有一个文本框,现在我只想这个文本框能输入4个字符,但是汉字等占据两个字符位置的数据只能输入两个该怎么实现?

解决方案 »

  1.   

    用onkeyup事件判断用户输入的内容
      

  2.   


    <input type="text" id="txt1"/>
        var len=function(s){
            s=String(s);
            return s.length+(s.match(/[^\x00-\xff]/g) ||"").length;
        }
        var limit=4;
        document.getElementById("txt1").onkeyup=function(){
            var val=this.value;
            if(len(val)>limit)
                this.value=val.substr(0,val.length-1);
        }
      

  3.   

    下面的修正下:    document.getElementById("txt1").onkeyup=function(){
            var val=this.value;
            if(len(val)>limit) {
                val=val.substr(0,4);
                val=val.substr(0,4-(val.match(/[^\x00-\xff]/g) ||"").length/2);
                this.value=val;
            }
        }
      

  4.   

    改进下:if(len(val)>limit) {
                //val=val.substr(0,limit);
                while(len(val=val.substr(0,val.length-1))>limit);
                this.value=val;
            }
      

  5.   

    if(len(val)>limit) {
                //val=val.substr(0,limit);
                while(len(val=val.substr(0,val.length-1))>limit);
                this.value=val;
            }