JS获取字符串实际长度(包含汉字)的简单方法


Posted in Javascript onAugust 11, 2016

方法一:

var jmz = {};
jmz.GetLength = function(str) {
  ///<summary>获得字符串实际长度,中文2,英文1</summary>
  ///<param name="str">要获得长度的字符串</param>
  var realLength = 0, len = str.length, charCode = -1;
  for (var i = 0; i < len; i++) {
    charCode = str.charCodeAt(i);
    if (charCode >= 0 && charCode <= 128) 
       realLength += 1;
    else
       realLength += 2;
  }
  return realLength;
};

alert(jmz.GetLength('测试测试ceshiceshi));

方法二(更简洁的方法):

var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}

方法三(更更简洁的方法):

var jmz = {};
jmz.GetLength = function(str) {
  return str.replace(/[\u0391-\uFFE5]/g,"aa").length;  //先把中文替换成两个字节的英文,在计算长度
};  
alert(jmz.GetLength('测试测试ceshiceshi'));

以上这篇JS获取字符串实际长度(包含汉字)的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 题型问答有答案参考
Feb 17 Javascript
用jquery方法操作radio使其默认选项是否
Sep 10 Javascript
Script标签与访问HTML页面详解
Jan 10 Javascript
javascript 原型链维护和继承详解
Nov 26 Javascript
介绍一个简单的JavaScript类框架
Jun 24 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
简单理解vue中Props属性
Oct 27 Javascript
JS求解三元一次方程组值的方法
Jan 03 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
js逆向解密之网络爬虫
May 30 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
Aug 23 Javascript
写一个Vue loading 插件
Nov 09 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
Aug 11 #Javascript
JavaScript性能优化总结之加载与执行
Aug 11 #Javascript
js接收并转化Java中的数组对象的方法
Aug 11 #Javascript
Js调用Java方法并互相传参的简单实例
Aug 11 #Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
Aug 11 #Javascript
基于js对象,操作属性、方法详解
Aug 11 #Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
Aug 11 #Javascript
You might like
PHP垃圾回收机制简单说明
2010/07/22 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
JS实现继承的几种常用方式示例
2019/06/22 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
python命令 -u参数用法解析
2019/10/24 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
JAVA高级程序员面试题
2013/09/06 面试题
两则小学生的自我评价分享
2013/11/14 职场文书
大学生专科学习生活的自我评价
2013/12/07 职场文书
公司股东合作协议书
2014/09/14 职场文书
求职自我评价怎么写
2015/03/09 职场文书