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中的cookie的读写操作示例详解
Apr 17 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
JavaScript动态数量的文件上传控件
Nov 18 Javascript
浅谈Vuejs Prop基本用法
Aug 17 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
Mar 01 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
Aug 24 jQuery
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
Aug 29 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 Javascript
jQuery实现动态向上滚动
Dec 21 jQuery
Vue实现下拉加载更多
May 09 Vue.js
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输入数据统一类实例
2015/02/23 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
破解Session cookie的方法
2006/07/28 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
js回调函数仿360开机
2019/12/26 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python对url格式解析的方法
2015/05/13 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
交警失职检讨书
2015/01/26 职场文书
建议书的格式及范文
2015/09/14 职场文书
GPU服务器的多用户配置方法
2022/07/07 Servers
Python创建SQL数据库流程逐步讲解
2022/09/23 Python