2008年12月12日 星期五

JavaScript計算中文與英文的字元長度

在JavaScript中有個內建函數 length ...
但是使用此函數無法判斷真正的字元長度 ...

例如:
"你好" 的長度 使用 length 計算出來是 2 而
"Key" 計算出來的長度是 3

由這裡就可以看出 ..
明明是"你好"的長度比較長,可是length函數所計算出來的長度卻比較短!

這是因為length函數把中文的一個字(兩個字元)當成一個長度...

網路上已經有解決方法,方法如下:定義新的原型函數

String.prototype.len=function()
{ return this.replace(/[^\x00-\xff]/g,"rr").length; }

定義後直接使用 len() 就可以計算出來全部的字元長度了!


參考資料:
http://www.cnblogs.com/PatrickChen/archive/2008/10/17/1313250.html


.

0 意見: