天天看點

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