您的位置:首页 > Web前端 > JavaScript

JS获得字符串字节数

2014-05-19 11:10 218 查看
//正则判断

function onCheckStrByte(str) {

            return byteLen = str.replace(/[^x00-xFF]/g, '**').length;

        }

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

// 在GBK编码里,除了ASCII字符,其它都占两个字符宽

function onCheckStrByte2(str) {

            var byteLen = 0

            var len = str.length;

            if (str) {

                for (var i = 0; i < len; i++) {

                    if (str.charCodeAt(i) > 255) {

                        byteLen += 2;

                    }

                    else {

                        byteLen++;

                    }

                }

                return byteLen;

            }

            else {

                return 0;

            }
        }

String.prototype.getStringByteLen = function () {

    var byteLen = 0

    var len = this.length;

    if (this) {

        for (var i = 0; i < len; i++) {

            if (this.charCodeAt(i) > 255) {

                byteLen += 2;

            }

            else {

                byteLen++;

            }

        }

        return byteLen;

    }

    else {

        return 0;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息