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 相关文章推荐
在Ajax中使用Flash实现跨域数据读取的实现方法
Dec 02 Javascript
Javascript表格翻页效果的具体实现
Oct 05 Javascript
Javascript实现单张图片浏览
Dec 18 Javascript
javascript处理a标签超链接默认事件的方法
Jun 29 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
js中遍历Map对象的方法
Jul 27 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
jQuery实现文档树效果
Feb 20 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
JS实现小米轮播图
Sep 21 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中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
共享自己写一个框架DreamScript
2007/01/20 Javascript
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
详解React 条件渲染
2020/07/08 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
Python中extend和append的区别讲解
2019/01/24 Python
python正则-re的用法详解
2019/07/28 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
测量实习生自我鉴定
2013/09/19 职场文书
个人自荐书
2013/12/20 职场文书
个人简历中自我评价
2014/02/11 职场文书
庆七一晚会主持词
2015/06/30 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python