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 相关文章推荐
MultiSelect左右选择控件的设计与实现介绍
Jun 08 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
Vue.js实战之Vuex的入门教程
Apr 01 Javascript
ztree实现权限横向显示功能
May 20 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
vue 2.1.3 实时显示当前时间,每秒更新的方法
Sep 16 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
Jul 28 Javascript
node.js基础知识汇总
Aug 25 Javascript
区分vue-router的hash和history模式
Oct 03 Javascript
原生js实现俄罗斯方块
Oct 20 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 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
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
详解Python是如何实现issubclass的
2019/07/24 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
2014年国庆节寄语
2014/09/19 职场文书
写给女朋友的保证书
2015/05/09 职场文书
教师节主题班会方案
2015/08/17 职场文书
Redis Lua脚本实现ip限流示例
2022/07/15 Redis