JS计算字符串的字节数

时间:2022-05-20 20:34:38

方法 1

//中文占两个字节,字母占一个字节。如果Unicode编码大于255,则判断为中文..charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
var string = function(str){
var len = str.length;
bytelen = 0;
if(str){
for(i=0;i<len;i++){
if(str.charCodeAt(i)>255){
bytelen = bytelen + 2;
}
else{
bytelen = bytelen + 1;
}
}
return bytelen;
}
else{
return 0;
}
}
alert(string("你好,世界"));
alert(string("Hello,world"));

方法 2

// 正则表达式检测字符串的字节长度 
//把中文替换成两个星号,再计算
var lenReg = function(str){
return str.replace(/[^x00-xFF]/g,'**').length;
};
alert(lenReg("你好,世界"));
alert(lenReg("Hello,world"));

方法 3

// 在GBK编码里,除了ASCII字符,其它都占两个字符宽 
function getBytesLength(str) {
return str.replace(/[^\x00-\xff]/g, 'xx').length;
}
alert(getBytesLength("你好,世界"));
alert(getBytesLength("Hello,world"));

如果有什么问题或建议,欢迎留言…………^^