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