javascript计算字符串的长度区分中英文

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript计算字符串的长度区分中英文相关的知识,希望对你有一定的参考价值。

javascript计算字符串的长度区分中英文:
计算字符串的长度是常有的操作,代码如下:

var str="I love 蚂蚁部落";
console.log(str.length);

使用length计算字符串的长度,得出的结果是字符串中字符的个数,而在实际应用中可能需要计算字符串所占有的字节长度,一个汉字占两个字节,一个英文字符占一个字节,代码如下:

var zfl={}; 
zfl.GetLength=function(str){ 
  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 str="I love 蚂蚁部落";
console.log(zfl.GetLength(str));

以上代码实现了我们的要求,能够区分汉字和英文单词,下面介绍一下它的实现过程。
一.实现原理:
原理很简单,判断当前字符的Unicode编码值是否在某一个指定的区间,通过这个区间就可以判断是汉字还是英文字符,如果是英文字符那就占一个字节,如果是汉字就占两个字节。
二.相关阅读:
1.for循环可以参阅javascript的for循环语句用法一章节。
2. charCodeAt()函数可以javascript的String对象的charCodeAt()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11499

更多内容可以参阅:http://www.softwhy.com/javascript/

以上是关于javascript计算字符串的长度区分中英文的主要内容,如果未能解决你的问题,请参考以下文章

如何使循环计算更快

javascript 中英文字符长度和截断处理

JavaScript:与文化无关、不区分大小写的字符串比较

Javascript扩展String.prototype实现格式金额格式时间字符串连接计算长度是否包含日期计算等功能

sql2005中字符串长度问题

Vue element input组件区分中英文统计长度