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中window.event事件用法详解
Dec 11 Javascript
zTree插件之单选下拉菜单实例代码
Nov 07 Javascript
javascript检测是否联网的实现代码
Sep 28 Javascript
node.js中的dns.getServers方法使用说明
Dec 08 Javascript
node.js中的fs.realpathSync方法使用说明
Dec 16 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
基于Node.js实现nodemailer邮件发送
Jan 26 Javascript
JQuery用户名校验的具体实现
Mar 18 Javascript
JS实现的视频弹幕效果示例
Aug 17 Javascript
详解一个基于套接字实现长连接的express
Mar 28 Javascript
JavaScript使用canvas绘制随机验证码
Feb 17 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
js判断密码强度的方法
2020/03/18 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
Python3使用requests发闪存的方法
2016/05/11 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
Python random模块的使用示例
2020/10/10 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
英文自荐信格式
2013/11/28 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
中药学专业求职信
2014/05/31 职场文书
社区植树节活动总结
2015/02/06 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书