方法一:
/**
*
* @param
* @arrange (编程之家) jb51.cc
**/
var jmz = {};
jmz.GetLength = function(str) {
///<summary>获得字符串实际长度,中文2,英文1</summary>
///<param name=str>要获得长度的字符串</param>
var realLength = 0,len = str.length,charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128)
realLength += 1;
else
realLength += 2;
}
return realLength;
};
alert(jmz.GetLength('测试测试ceshiceshi));
方法二(更简洁的方法):
/**
*
* @param
* @arrange (编程之家) jb51.cc
**/
var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}
方法三(更更简洁的方法):
/**
*
* @param
* @arrange (编程之家) jb51.cc
**/
var jmz = {};
jmz.GetLength = function(str) {
return str.replace(/[\u0391-\uFFE5]/g,aa).length; //先把中文替换成两个字节的英文,在计算长度
};
alert(jmz.GetLength('测试测试ceshiceshi'));