最近做项目中遇到一个小问题,需要计算一段文本的实际长度,在网上找到了这么段代码觉得有用,分享一下给大家。
/**
* 字符串中包括中文、英文和特殊字符
* 中文:占2个字节长度,英文和特殊字符占一个字节长度
*/
var getLenByChartcode = 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;
}
/**
* [^\x00-\xff]即ASCII 编码不在0-255的字符
*/
var getLenByRegexp = function(str){
return str.replace(/[^\x00-\xff]/g,"aa").length;
}
计算文本实际长度的方法
本文介绍了一种计算包含中文、英文及特殊字符的文本实际长度的方法。提供了两种实用的JavaScript函数实现:一种通过字符编码判断长度,另一种使用正则表达式进行替换计数。

被折叠的 条评论
为什么被折叠?



