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 相关文章推荐
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
跟着JQuery API学Jquery 之三 筛选
Apr 09 Javascript
Javascript实现CheckBox的全选与取消全选的代码
Jul 20 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
jQuery控制输入框只能输入数值的小例子
Mar 20 Javascript
jquery 页面滚动到指定DIV实现代码
Sep 25 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
elementui的默认样式修改方法
Feb 23 Javascript
详解Vue源码学习之双向绑定
Apr 10 Javascript
vue使用微信JS-SDK实现分享功能
Aug 23 Javascript
微信小程序实现侧边分类栏
Oct 21 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
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
表格展示无限级分类(PHP版)
2012/08/21 PHP
php防止sql注入代码实例
2013/12/18 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JQuery球队选择实例
2015/05/18 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
python中多个装饰器的执行顺序详解
2018/10/08 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python实现视频读取和转化图片
2019/12/10 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
Python3获取cookie常用三种方案
2020/10/05 Python
python中entry用法讲解
2020/12/04 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
存储过程和函数的区别
2013/05/28 面试题
python实现批量移动文件
2021/04/05 Python
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL