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 相关文章推荐
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
关于JavaScript中的关联数组分析
Apr 09 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
May 03 Javascript
JavaScript中的this关键字介绍与使用实例
Jun 21 Javascript
超级好用的jQuery圆角插件 Corner速成
Aug 31 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
Sep 23 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
javascript面向对象程序设计实践常用知识点总结
Jul 29 Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
PHP 魔术函数使用说明
2010/05/14 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Python requests上传文件实现步骤
2020/09/15 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
开业主持词
2014/03/21 职场文书
产假请假条
2014/04/10 职场文书
管理标语大全
2014/06/24 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
退休欢送会主持词
2015/07/01 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis