js 获取字符长度(英文1,中文2)
程序员文章站
2024-02-26 13:27:52
...
在 JS中,使用字符串的 length 属性可以读取字符串的长度。长度以字符为单位,该属性为只读属性。
let str="string长度"
console.log(str.length) //8
JS支持的字符包括单字节、双字节两种类型,比如一个汉字是两个字节,此时想获取字符长度,可采取以下方法:
1.String 扩展原型方法 getByteLen()
该方法将枚举每个字符,并根据字符编码,判断当前字符是单字节还是双字节,然后统计字符串的字节长度。
String.prototype.getByteLen=function(){
let len=0;
for(let i=0;i<this.length;i++){
this.charCodeAt(i)<256?(len+=1):(len+=2)
}
return len
}
//使用
let str="string长度"
console.log(str.getByteLen()) //10
2.检测字符是否为双字节或单字节
(1)用charAt和escape
let c = this.charAt(i);
if (escape (c).length > 4) {
len += 2;
} else if (c != "\r") {len ++; }
(2)用正则表达式
let c = this.charAt(i);
if (/^[\u0000-\u00ff]$/.test(c)) {
len ++;
} else {len += 2; }
涉及到的方法:
charCodeAt() 返回在指定的位置的字符的 Unicode 编码。返回值是 0 - 65535 之间的整数。
charAt() 返回在指定位置的字符。
escape() 函数可对字符串进行编码
上一篇: 单词长度
下一篇: 详解 Python 与文件对象共事的实例
推荐阅读
-
js 获取字符长度(英文1,中文2)
-
js 截取字符串 一个中文长度为2
-
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)_jquery
-
超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)
-
超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)
-
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
-
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
-
JS判断字符串长度的5个方法(区分中文和英文)_javascript技巧
-
Android - TextView限制文本长度,英文占1位,中文占2位
-
JS判断字符串长度的5个方法(区分中文和英文)_javascript技巧