JS獲取字符串實際長度(包含漢字)


方法一:

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'));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM