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 相关文章推荐
使用jQuery内容过滤选择器选择元素实例讲解
Apr 18 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
Aug 11 Javascript
按下回车键指向下一个位置的一个函数代码
Mar 10 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
JavaScript学习小结(一)——JavaScript入门基础
Sep 02 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
Jan 04 Javascript
Canvas + JavaScript 制作图片粒子效果
Feb 08 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
Mar 30 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
Feb 10 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
php在线生成ico文件的代码
2007/10/09 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python字典操作简明总结
2015/04/13 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
浅析使用Python搭建http服务器
2019/10/27 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
导游词怎么写
2015/02/04 职场文书
起诉书范文
2015/05/20 职场文书
交通事故责任认定书
2015/08/06 职场文书
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
python中pandas对多列进行分组统计的实现
2021/06/18 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android