当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript 获取字符串字节数的多种方法

Javascript
推荐:极酷右键菜单
跟随鼠标旋转的文字
拖动层效果,兼容IE和FF!
由 element.appendChild(newNode) ,谈开去
发个自己写的表格操作类(添加,删除,排序,上移,下移)
小议Function.apply() 之一------(函数的劫持与对象的复制)
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
JavaScript中令你抓狂的魔术变量
[原创]网络复制内容时常用的正则+editplus
createElement和onclick
很有趣的一段textarea
用 JavaScript 给站外链接的 cursor 进行改造
一段好玩的JavaScript代码
IE中实现全屏广告代码,霸道无比.
phpwind放自动注册方法
线路分流自动跳转代码;希望对大家有用!
鼠标放在放在输入框上面提示效果
常用js脚本
硬盘浏览程序,保存成网页格式便可使用
Js的MessageBox

Javascript 获取字符串字节数的多种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 351 ::
收藏到网摘: n/a

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;
}

我喜欢第三种,以上代码均测试通过
代码简单,不给出测试结果
px