JavaScript計算字串的長度區分中英文

antzone發表於2017-03-17

計算字串的長度是常有的操作,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var str="I love 螞蟻部落";
console.log(str.length);

使用length計算字串的長度,得出的結果是字串中字元的個數,而在實際應用中可能需要計算字串所佔有的位元組長度,一個漢字佔兩個位元組,一個英文字元佔一個位元組,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var zfl={}; 
zfl.GetLength=function(str){ 
  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; 
}
var str="I love 螞蟻部落";
console.log(zfl.GetLength(str));

以上程式碼實現了我們的要求,能夠區分漢字和英文單詞,下面介紹一下它的實現過程。

一.實現原理:

判斷當前字元的Unicode編碼值是否在某一個指定的區間,通過這個區間就可以判斷是漢字還是英文字元,如果是英文字元那就佔一個位元組,如果是漢字就佔兩個位元組。

二.相關閱讀:

(1).for迴圈參閱JavaScript for 迴圈語句一章節。

(2). charCodeAt方法可以JavaScript charCodeAt()一章節。

相關文章