JS判断字符串长度的5个方法(区分中文和英文)


Posted in Javascript onMarch 18, 2014

目的:计算字符串长度(英文占1个字符,中文汉字占2个字符)

方法一:

String.prototype.gblen = function() {  
  var len = 0;  
  for (var i=0; i<this.length; i++) {  
    if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {  
       len += 2;  
     } else {  
       len ++;  
     }  
   }  
  return len;  
}

方法二:
function strlen(str){
    var len = 0;
    for (var i=0; i<str.length; i++) { 
     var c = str.charCodeAt(i); 
    //单字节加1 
     if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { 
       len++; 
     } 
     else { 
      len+=2; 
     } 
    } 
    return len;
}

方法三:
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;
};

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

方法五:
把双字节的替换成两个单字节的然后再获得长度
getBLen = function(str) {
  if (str == null) return 0;
  if (typeof str != "string"){
    str += "";
  }
  return str.replace(/[^\x00-\xff]/g,"01").length;
}
Javascript 相关文章推荐
javascript 写类方式之二
Jul 05 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
JQuery实现左右滚动菜单特效
Sep 28 Javascript
7个去伪存真的JavaScript面试题
Jan 07 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
Dec 08 Javascript
详解前端路由实现与react-router使用姿势
Aug 07 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
JS实现购物车基本功能
Nov 08 Javascript
html中创建并调用vue组件的几种方法汇总
Nov 17 Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 #Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 #Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 #Javascript
javascript的解析执行顺序在各个浏览器中的不同
Mar 17 #Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 #Javascript
jquery自动将form表单封装成json的具体实现
Mar 17 #Javascript
获取当前点击按钮的id用this.id实现
Mar 17 #Javascript
You might like
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
js函数调用的方式
2014/05/06 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
python变量命名的7条建议
2019/07/04 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
综合办公室主任岗位职责
2014/04/13 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL