获取字符串长度
获取字符串的长度,js length属性只能获取字符串个数。有时候汉字需要被当初两个字符长度处理,方法如下:
String.prototype.getByteLength=function(){ //x00-\xff 代表非汉字编码 //一个汉字代表两个字节,所以那样了,不过应该是 return this.replace(/[^\x00-\xff]/g,"rr").length; } /** * n为要结束的下标数字 * */ String.prototype.subByteLength = function(n) { var r = /[^\x00-\xff]/g; if(this.replace(r, "mm").length <= n) return this; // n = n - 3; var m = Math.floor(n/2); for(var i=m; i<this.length; i++) { if(this.substr(0, i).replace(r, "mm").length>=n) { return this.substr(0, i) +"..."; } } return this; };

浙公网安备 33010602011771号