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写法
Sep 15 Javascript
Ext对基本类型的扩展 ext,extjs,format
Dec 25 Javascript
JavaScript实现找质数代码分享
Mar 24 Javascript
jQuery中通过ajax的get()函数读取页面的方法
Feb 29 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
May 03 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 Javascript
vue cli webpack中使用sass的方法
Feb 24 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
原生js+canvas实现验证码
Nov 29 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使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
jquery选择器简述
2015/08/31 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
python 编写简单网页服务器的实例
2018/06/01 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
介绍一下#error预处理
2015/09/25 面试题
建筑文秘专业个人求职信范文
2013/12/28 职场文书
大学毕业感言一句话
2014/02/06 职场文书
企业后勤岗位职责
2014/02/28 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
投标诚信承诺书
2014/05/26 职场文书
2014年后勤工作总结
2014/11/18 职场文书
英文感谢信格式
2015/01/21 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL