方法一:
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));
方法二(更簡潔的方法):
var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}
方法三(更更簡潔的方法):
var jmz = {};
jmz.GetLength = function(str) {
return str.replace(/[\u0391-\uFFE5]/g,"aa").length; //先把中文替換成兩個字節的英文,在計算長度
};
alert(jmz.GetLength('測試測試ceshiceshi'));
以上這篇JS獲取字符串實際長度(包含漢字)的簡單方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。