由于英文字符和数字字符所占的区位不一样,在统计中英文混排的字符串中,汉字的字符串长度获取不准确,本代码给出求中英文字符串长度的例子。
本例子的具体算法思想是:
(1)首先,去掉字符串首尾的空格,当然,根据需要也可以不用这么做;
(2)其次,通过字符的ASCII码来判断字符的类型,如果码在0-255之间,被视为英文字符,超过255的为为英文字符。
最后,将字符的个数返回。
源代码如下:
function mm_checklen(strTemp)
{
var i,sum;
sum=0;
strTemp=strTemp.replace(/^(/s)*|(/s)*$/g,""); //去掉首尾的空格
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;
}
新闻热点
疑难解答