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


Posted in Javascript onJune 02, 2009

方法有很多,举两种:
第一种:(通过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
Javascript 相关文章推荐
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
Apr 20 Javascript
javascript操作文本框readOnly
May 15 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
JS+CSS实现可拖动的弹出提示框
Feb 16 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
May 17 Javascript
Vue.js实例方法之生命周期详解
Jul 03 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
小程序实现列表删除功能
Oct 30 Javascript
javascript for循环性能测试示例
Aug 07 Javascript
小程序实现侧滑删除功能
Jun 25 Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
Jun 02 #Javascript
Javascript String对象扩展HTML编码和解码的方法
Jun 02 #Javascript
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
Jun 02 #Javascript
慎用 somefunction.prototype 分析
Jun 02 #Javascript
网页和浏览器兼容性问题汇总(draft1)
Jun 01 #Javascript
javascript 图片上传预览-兼容标准
Jun 01 #Javascript
javascript 关闭IE6、IE7
Jun 01 #Javascript
You might like
PHP实现把数字ID转字母ID
2013/08/12 PHP
destoon各类调用汇总
2014/06/20 PHP
让你的网站可编辑的实现js代码
2009/10/19 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
python实用代码片段收集贴
2015/06/03 Python
Python常见字典内建函数用法示例
2018/05/14 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
构建高效的python requests长连接池详解
2020/05/02 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
大学生简历的个人自我评价
2013/12/04 职场文书
活动总结怎么写
2014/04/28 职场文书
贷款委托书怎么写
2014/08/02 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
新学期家长寄语2016
2015/12/03 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript