获取javascript字符串包含中文的byte字节长度。

2011-01-19 17:24  2560人阅读  评论 (0)

获取javascript字符串包含中文的byte字节长度。今天用到这个了,就写了一个分享给大家;其实也很简单利用encodeURI编码单个字符,然后跟根据编码后的长度,获取字符串的byte长度。原文地址:http://www.dotcoo.com/post-70.html

注,本函数获取字符串的byte长度是根据页面的字符编码不同有所不同,utf-8一个汉字3byte,gb2312一个汉字2byte。

String的方法版本

String.prototype.getBytelen = function(){
    var bytelen = 0;
    var chars = this.split('');
    for(i = 0; i<chars.length; i++){
        var char = chars[i];
        var urichar = encodeURI(char);
        bytelen += urichar.length == 1 ? 1 : urichar.length / 3;
    }
    return bytelen;
};
alert('1我的长度11'.getBytelen());函数版本

function Bytelen(str){
    var bytelen = 0;
    var chars = str.split('');
    for(i = 0; i<chars.length; i++){
        var char = chars[i];
        var urichar = encodeURI(char);
        bytelen += urichar.length == 1 ? 1 : urichar.length / 3;
    }
    return bytelen;
}
alert(Bytelen('1我的长度11'));
豫ICP备09035262号-1