日期:2014-05-16  浏览次数:20338 次

Javascript 获取字符串字节数的多种方法
第一种:(通过String对象的charCodeAt方法) 
复制代码 代码如下:

String.prototype.getBytesLength = function() { 
var length = 0; 
for(i = 0;i < this.length; i++) { 
iCode = this.charCodeAt(i); 
if((iCode >= 0 && iCode <= 255) || (iCode >= 0xff61 && iCode <= 0xff9f)) { 
length += 1; 
} else { 
length += 2; 
} 
} 
return length; 
} 

第二种:(通过escape()方法转编码后判断) 
复制代码 代码如下:

String.prototype.getBytesLength = function() { 
var str = escape(this); 
for(var i = 0, length = 0;i < str.length; i++, length++) { 
if(str.charAt(i) == "%") { 
if(str.charAt(++i) == "u") { 
i += 3; 
length++; 
} 
i++; 
} 
} 
return length; 
} 

第三种写法:彻底无语了! 
复制代码 代码如下:

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



转载:http://www.jb51.net/article/18398.htm