if($('#name').val().length>3 && $('#name').val().length<21)  
原来只是这样写的,只限制了长度,我想改成限制字符(一个汉字等于两个字符)肿么改。。

解决方案 »

  1.   


    function fucCheckLength(strTemp)  
    {  
     var i,sum;  
     sum=0;  
     for(i=0;i<strTemp.length;i++)  
     {  
      if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))  
       sum=sum+1;  
      else  
       sum=sum+2;  
     }  
     return sum;  
    }
    fucCheckLength("字符长度abc");
      

  2.   

    传参进去不就行了?function fucCheckLength(strTemp)  
    {  
     var i,sum;  
     sum=0;  
     for(i=0;i<strTemp.length;i++)  
     {  
      if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))  
       sum=sum+1;  
      else  
       sum=sum+2;  
     }  
     return sum;  
    }function check(){
        var str = $('#name').val(),
            length = fucCheckLength(str);
        if (length > 3 && length < 21){
            alert("字符长度不符合要求");
            return false;
        }
    }