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 相关文章推荐
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
JavaScript函数作用域链分析
Feb 13 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
js实现动态创建的元素绑定事件
Jul 19 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
Aug 02 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
微信小程序实现授权登录
May 15 Javascript
webpack中的模式(mode)使用详解
Feb 20 Javascript
vue路由权限校验功能的实现代码
Jun 07 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
php中explode的负数limit用法分析
2015/02/27 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
JavaScript浏览器选项卡效果
2010/08/25 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
JS分页效果示例
2013/10/11 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
深入浅析python定时杀进程
2016/06/06 Python
Python实现微信小程序支付功能
2019/07/25 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
Python实现结构体代码实例
2020/02/10 Python
python mysql中in参数化说明
2020/06/05 Python
使用npy转image图像并保存的实例
2020/07/01 Python
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
大课间活动制度
2014/01/18 职场文书
学生会竞聘书范文
2014/03/31 职场文书
授权委托书公证
2014/09/14 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
详解Python requests模块
2021/06/21 Python
frg-100简单操作(设置)说明
2022/04/05 无线电