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 Sort 表格排序
Oct 31 Javascript
event.currentTarget与event.target的区别介绍
Dec 31 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
简单实现限制uploadify上传个数
Nov 16 Javascript
10个JavaScript中易犯小错误
Feb 14 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
Axios学习笔记之使用方法教程
Jul 21 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 Javascript
jQuery弹框插件使用方法详解
May 26 jQuery
jquery实现简单每周轮换的日历
Sep 10 jQuery
JavaScript Blob对象原理及用法详解
Oct 14 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
Banner程序
2006/10/09 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
php 启动报错如何解决
2014/01/17 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
javascript cookies操作集合
2010/04/12 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
优秀中职教师事迹材料
2014/08/26 职场文书
青年文明号汇报材料
2014/12/23 职场文书
干部年终考核评语
2015/01/04 职场文书
保护地球的宣传语
2015/07/13 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL