转js字符串长度...
时间:2010-08-06 来源:XiaoHuanJie
  <script>    
  alert (fucCheckLength("中国a"));    
  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;    
  }    
  </script> 
  会得到结果是:5 
  
  评论: 
  有时候我们需要5?
  
  你是指要得到的字节长度吧?请注意字节和字符的差异。而字节长度是和编码有关系的,比如"中国a",gbk/gb2312编码是5个字节,可是如果是utf-8,则是7个字节(utf-8下通常一个汉字3个字节)。
  
  楼主似乎对字节长度的概念还不是很清楚,虽然一般情况下汉字字符大都使用gbk。但是不能把汉字和2个字节直接划上等号。
  
  假设后台数据库是采用utf-8保存数据,表结构中某个字段的长度是30个字节,那么用楼主你的这个函数,长度计算就出问题了。
 相关阅读 更多 + 
    
  









