方法有很多,举两种:
第一种:(通过String对象的charCodeAt方法)
String.prototype.getBytesLength = function() {
var length = 0;
for(i = 0;i iCode = this.charCodeAt(i);
if((iCode >= 0 && iCode = 0xff61 && iCode length += 1;
} else {
length += 2;
}
}
return length;
}
第二种:(通过escape()方法转编码后判断)
String.prototype.getBytesLength = function() {
var str = escape(this);
for(var i = 0, length = 0;i if(str.charAt(i) == "%") {
if(str.charAt(++i) == "u") {
i += 3;
length++;
}
i++;
}
}
return length;
}
第三种写法:彻底无语了!
String.prototype.getBytesLength = function() {
return this.replace(/[^\x00-\xff]/gi, "--").length;
}
我喜欢第三种,以上代码均测试通过
代码简单,不给出测试结果
px
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn