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