由于英文字符和数字字符所占的区位不一样,在统计中英文混排的字符串中,汉字的字符串长度获取不准确,本代码给出求中英文字符串长度的例子。
本例子的具体算法思想是:
(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;}