javascript計算字元串的長度區分中英文:計算字元串的長度是常有的操作,代碼如下: var str="I love 螞蟻部落"; console.log(str.length); 使用length計算字元串的長度,得出的結果是字元串中字元的個數,而在實際應用中可能需要計算字元串所占有的位元組長度
javascript計算字元串的長度區分中英文:
計算字元串的長度是常有的操作,代碼如下:
var str="I love 螞蟻部落"; console.log(str.length);
使用length計算字元串的長度,得出的結果是字元串中字元的個數,而在實際應用中可能需要計算字元串所占有的位元組長度,一個漢字占兩個位元組,一個英文字元占一個位元組,代碼如下:
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的String對象的charCodeAt()方法一章節。
原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11499
更多內容可以參閱:http://www.softwhy.com/javascript/