计算字符串长度(可同时字母和汉字,字母占一个字符,汉字占2个字符)

时间:2022-03-31 22:44:31
charCodeAt() 定义和用法 :
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

//计算字符串长度(可同时字母和汉字,字母占一个字符,汉字占2个字符)
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;
}