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 相关文章推荐
在新窗口打开超链接的方法小结
Apr 14 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
Oct 21 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
JavaScript实战(原生range和自定义特效)简单实例
Aug 21 Javascript
javascript如何创建对象
Aug 29 Javascript
Jquery on绑定的事件 触发多次实例代码
Dec 08 Javascript
jquery仿微信聊天界面
May 06 jQuery
JS动画定时器知识总结
Mar 23 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
通过实例了解Render Props回调地狱解决方案
Nov 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的引用原因分析
2012/09/06 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
Python制作简单的网页爬虫
2015/11/22 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
企业出纳岗位职责
2014/03/12 职场文书
大学生应聘求职信
2014/05/26 职场文书
小英雄雨来观后感
2015/06/09 职场文书
感恩教师节主题班会
2015/08/12 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
电频谱管理的原则是什么
2022/02/18 无线电