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 相关文章推荐
IE JS无提示关闭窗口不提示的方法
Apr 29 Javascript
JavaScript中的无阻塞加载性能优化方案
Oct 10 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
JavaScript阻止回车提交表单的方法
Dec 30 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
Dec 16 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
Apr 26 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
Vue 图片压缩并上传至服务器功能
Jan 15 Javascript
JavaScript实现轮播图片完整代码
Mar 07 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
jquery each()源代码
2011/02/14 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
python实现查询苹果手机维修进度
2015/03/16 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
Django models.py应用实现过程详解
2019/07/29 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
演讲稿格式
2014/04/30 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
财务会计实训报告
2014/11/05 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
如何在Python中创建二叉树
2021/03/30 Python
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
python基础之函数的定义和调用
2021/10/24 Python
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android