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编辑器和代码格式化
Apr 25 Javascript
JavaScript中检测变量是否存在遇到的一些问题
Nov 11 Javascript
js进行表单验证实例分析
Feb 10 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
基于jQuery实现选取月份插件附源码下载
Dec 28 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 Javascript
JS组件Bootstrap Table使用方法详解
Feb 02 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 Javascript
bootstrap是什么_动力节点Java学院整理
Jul 14 Javascript
利用vscode调试编译后的js代码详解
May 14 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 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
图形数字验证代码
2006/10/09 PHP
如何分别全角和半角以避免乱码
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
php数组去重复数据示例
2014/02/25 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
javascript 星级评分效果(手写)
2012/12/24 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
Python入门篇之数字
2014/10/20 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
pytorch 模型可视化的例子
2019/08/17 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
python 自动识别并连接串口的实现
2021/01/19 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
GWT都有什么特性
2016/12/02 面试题
毕业自荐书
2013/12/09 职场文书
会议开场欢迎词
2014/01/15 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
放弃继承权公证书
2015/01/23 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript