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 相关文章推荐
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
javascript中简单的进制转换代码实例
Oct 26 Javascript
jQuery实现鼠标经过事件的延时处理效果
Aug 20 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 Javascript
JS实现HTML表格排序功能
Aug 05 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
jQuery居中元素scrollleft计算方法示例
Jan 16 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
ES6基础之解构赋值(destructuring assignment)
Feb 21 Javascript
vue项目中仿element-ui弹框效果的实例代码
Apr 22 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
Nov 19 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入门学习的几个不错的实例代码
2008/07/13 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
PHP的PDO连接讲解
2019/01/24 PHP
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
python查看数据类型的方法
2019/10/12 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
pytorch forward两个参数实例
2020/01/17 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
JAVA程序员自荐书
2014/01/30 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
新学期主题班会
2015/08/17 职场文书
课改心得体会范文
2016/01/25 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
Python基本知识点总结
2022/04/07 Python
Python安装使用Scrapy框架
2022/04/12 Python