js字符串长度计算(一个汉字==两个字符)和字符串截取

js字符串长度计算(一个汉字==两个字符)和字符串截取

String.prototype.realLength = function() {
    return this.replace(/[^x00-xff]/g, "**").length; // [^x00-xff] - 匹配非双字节的字符 
};
String.prototype.realSubstring = function(n){
    var str = this||'';
    if(this.realLength()<=n){return this;}
    var m=Math.floor(n/2);
    for(var i=m;i<this.length;i++){
        if(this.substr(0,i).realLength()>=n){
            return this.substr(0,i)+"...";
        }
    }
    return this;
}

 "这是一个abcd测试".realLength(); //16

 "这是一个abcd测试".realSubstring(8); //"这是一个"

 "这是一个abcd测试".realSubstring(9); //"这是一个a"

 "这是一个abcd测试".realSubstring(7); //"这是一个"

本文原创,转载保留网址!http://www.cnblogs.com/cssfirefly/p/3768437.html 

cssfirefly http://cssfirefly.cnblogs.com
原文地址:https://www.cnblogs.com/cssfirefly/p/3768437.html