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 相关文章推荐
JQuery动态创建DOM、表单元素的实现代码
Aug 09 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
Jan 24 Javascript
JS与C#编码解码
Dec 03 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
Feb 02 Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 Javascript
js实现tab切换效果
Feb 16 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
JavaScript方法_动力节点Java学院整理
Jun 28 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
在vue项目中使用sass语法问题
Jul 18 Javascript
Node.js文本文件BOM头的去除方法
Nov 22 Javascript
JavaScript设计模式之原型模式详情
Jun 21 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服务器实现多session并发运行
2006/10/09 PHP
PHP XML备份Mysql数据库
2009/05/27 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
Yii核心验证器api详解
2016/11/23 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
浅谈javascript中的作用域
2012/04/07 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
vue中的inject学习教程
2019/04/24 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python打印“菱形”星号代码方法
2018/02/05 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
夜大毕业生自我评价分享
2013/11/10 职场文书
党员一句话承诺大全
2014/03/28 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
三好生演讲稿
2014/09/12 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
2015年信息化建设工作总结
2015/07/23 职场文书
手写实现JS中的new
2021/11/07 Javascript