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 相关文章推荐
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 Javascript
jQuery控制div实现随滚动条滚动效果
Jun 07 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
Sep 18 Javascript
微信小程序 rpx 尺寸单位详细介绍
Oct 13 Javascript
利用CDN加速react webpack打包后的文件详解
Feb 22 Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
javascript if条件判断方法小结
2014/05/17 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
javascript的惯性运动实现代码实例
2019/09/07 Javascript
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
浅谈react路由传参的几种方式
2021/03/23 Javascript
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
考研复习计划
2015/01/19 职场文书
张丽莉观后感
2015/06/16 职场文书
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技