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 相关文章推荐
(JS实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
JavaScript Function函数类型介绍
Apr 08 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
JavaScript 字符串常用操作小结(非常实用)
Nov 30 Javascript
JS实现仿百度文库评分功能
Jan 12 Javascript
Bootstrap与Angularjs的模态框实例代码
Aug 03 Javascript
原生js封装的ajax方法示例
Aug 02 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
Vue实现图片与文字混输效果
Dec 04 Javascript
JavaScript快速调试的两个技巧
Nov 04 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程序之die调试法 快速解决错误
2009/09/17 PHP
php 将excel导入mysql
2009/11/09 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
php中final关键字用法分析
2016/12/07 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
js的2种继承方式详解
2014/03/04 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
python实现感知器算法详解
2017/12/19 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
Python反射的用法实例分析
2018/02/11 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
个人近期表现材料
2014/02/11 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
诚信承诺书模板
2014/05/26 职场文书
云冈石窟导游词
2015/02/04 职场文书
工程部主管岗位职责
2015/02/12 职场文书
活动费用申请报告
2015/05/15 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript