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

Javascript
如何用js控制css中的float的代码
Autocomplete Textbox Example javascript实现自动完成成功
FormValid0.5版本发布,带ajax自定义验证例子
wordpress之js库集合研究介绍
推荐发几个常用控件(新加DHTML控件)
7. Microsoft Online-Crash Control, version 6.0(微软在线崩溃控件)
javascript下阻止表单重复提交、防刷新、防后退
javascript下计数器每秒自动加1
给所有的超级练级都加上onmousemove时间的js代码
js实现运行代码需要刷新的解决方法
兼容FF/IE跟随鼠标的层的效果
用javascript获得css中的属性值的代码
用javascript实现页内搜索的脚本代码
用javascript 控制表格行的展开和隐藏的代码
用javascript实现隐藏状态栏的代码
Code: write(s,d) 输出连续字符串
javascript创建页面蒙板的一些知识技巧总结
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
用javascript判断输入数据是否货币并自动添加¥符号的代码
js类中获取外部函数名的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 394 ::
收藏到网摘: 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