JS判断字符串长度的5个方法(区分中文和英文)

 更新时间:2014年03月18日 09:31:39   作者:  
这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下

目的:计算字符串长度(英文占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中使用Spread运算符的八种方法总结

    JavaScript中使用Spread运算符的八种方法总结

    这篇文章主要给大家介绍了JavaScript中使用Spread运算符的八种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • JS图片预加载 JS实现图片预加载应用

    JS图片预加载 JS实现图片预加载应用

    由于图片加载慢,导致用户体验特别差,本文将介绍一种图片预加载技术,需要了解的朋友可以参考下
    2012-12-12
  • 收集前端面试题之url、href、src

    收集前端面试题之url、href、src

    本文给大家分享小编日常收集整理的关于前端面试题之url、href、src的语法规则及基本概念,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-03-03
  • js获取form的方法

    js获取form的方法

    这篇文章主要介绍了js获取form的方法,实例分析了javascript操作form表单的技巧,需要的朋友可以参考下
    2015-05-05
  • javascript适合移动端的日期时间拾取器

    javascript适合移动端的日期时间拾取器

    这篇文章主要介绍了javascript适合移动端的日期时间拾取器,提供了友好的日期和时间选择操作界面,需要的朋友可以参考下
    2015-11-11
  • 小程序实现留言板

    小程序实现留言板

    这篇文章主要为大家详细介绍了微信小程序实现留言板,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • JS实现二维数组横纵列转置的方法

    JS实现二维数组横纵列转置的方法

    下面小编就为大家分享一篇JS实现二维数组横纵列转置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 基于Bootstrap模态对话框只加载一次 remote 数据的解决方法

    基于Bootstrap模态对话框只加载一次 remote 数据的解决方法

    下面小编就为大家带来一篇基于Bootstrap模态对话框只加载一次 remote 数据的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 使用js实现html标签、文本的隐藏、显示、删除及添加

    使用js实现html标签、文本的隐藏、显示、删除及添加

    在设计网页时,有时需要静态或动态地隐藏标签或显示被隐藏的标签,那该怎么实现呢?这篇文章主要给大家介绍了关于使用js实现html标签、文本的隐藏、显示、删除及添加的相关资料,需要的朋友可以参考下
    2023-06-06
  • 详谈commonjs模块与es6模块的区别

    详谈commonjs模块与es6模块的区别

    下面小编就为大家带来一篇详谈commonjs模块与es6模块的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10

最新评论