转JS字符串长度

<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个字节,那么用楼主你的这个函数,长度计算就出问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值