String.prototype.getLength = function() {
var cArr = this.match(/[^\x00-\xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
}
很多人都不问[^\x00-\xff]这个是什么意思。在这里说明一下,免得大家再到处找。:
[\x00-\xff]: 表示的是 ASCII 编码范围,0~255
[^\x00-\xff]:表示匹配双字节字符(包括汉字在内)
所以可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
本文介绍了一个JavaScript函数,用于计算包含双字节字符的字符串的实际长度。通过正则表达式匹配非ASCII字符来实现,适用于汉字等双字节字符的长度计算。
4827

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



