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 相关文章推荐
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
浅析hasOwnProperty方法的应用
Nov 20 Javascript
在myeclipse中如何加入jquery代码提示功能
Jun 03 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 Javascript
jquery简单插件制作(fn.extend)完整实例
May 24 Javascript
Bootstrap开关(switch)控件学习笔记分享
May 30 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 Javascript
微信小程序按钮点击动画效果的实现
Sep 04 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
jQuery实现简单QQ聊天框
Aug 27 jQuery
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
zend framework多模块多布局配置
2011/02/26 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php中strtotime函数性能分析
2016/11/20 PHP
常用PHP封装分页工具类
2017/01/14 PHP
PHP中的self关键字详解
2019/06/23 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
Python MD5文件生成码
2009/01/12 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
Python pandas常用函数详解
2018/02/07 Python
Python3多线程操作简单示例
2018/05/22 Python
python实现各种插值法(数值分析)
2019/07/30 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
一套软件开发工程师笔试题
2015/05/18 面试题
大学生简历的个人自我评价
2013/12/04 职场文书
学生打架检讨书1000字
2014/01/16 职场文书
毕业设计论文评语
2014/12/31 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
Linux中sftp常用命令整理
2022/06/28 Servers
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技