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 相关文章推荐
JavaScript 异步调用框架 (Part 5 - 链式实现)
Aug 04 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 Javascript
js数组方法扩展实现数组统计函数
Apr 09 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
JS实现为表格动态添加标题的方法
Mar 31 Javascript
JS实现超精简响应鼠标显示二级菜单代码
Sep 12 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
基于JSONP原理解析(推荐)
Dec 04 Javascript
微信小程序实现流程进度的图样式功能
Jan 16 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
Apr 17 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
Vue+Vuex实现自动登录的知识点详解
Mar 04 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防注入和XSS攻击通用过滤
2015/09/13 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
详解Python如何生成词云的方法
2018/06/01 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
Python3多线程基础知识点
2019/02/19 Python
24式加速你的Python(小结)
2019/06/13 Python
对python 调用类属性的方法详解
2019/07/02 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
python装饰器代码深入讲解
2021/03/01 Python
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
经理助理岗位职责
2014/03/05 职场文书
办公设备采购方案
2014/03/16 职场文书
皇城相府导游词
2015/02/06 职场文书
一般纳税人申请报告
2015/05/18 职场文书
甲午大海战观后感
2015/06/02 职场文书
个人售房合同协议书
2016/03/21 职场文书
靠谱的活动总结
2019/04/16 职场文书