js判断中文字符串长度和js截取中文字符串

//获取字符串长度
String.prototype.strLen = function() { var len = 0; for (var i = 0; i
< this.length; i++) { if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) len += 2; else len ++; } return len; }
//将字符串拆成字符,并存到数组中 String.prototype.strToChars
= function(){ var chars = new Array(); for (var i = 0; i < this.length; i++){ chars[i] = [this.substr(i, 1), this.isCHS(i)]; } String.prototype.charsArray = chars; return chars; }
//判断某个字符是否是汉字 String.prototype.isCHS
= function(i){ if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) return true; else return false; }
//截取字符串(从start字节到end字节) String.prototype.subCHString
= function(start, end){ var len = 0; var str = ""; this.strToChars(); for (var i = 0; i < this.length; i++) { if(this.charsArray[i][1]) len += 2; else len++; if (end < len) return str; else if (start < len) str += this.charsArray[i][0]; } return str; }
//截取字符串(从start字节截取length个字节) String.prototype.subCHStr
= function(start, length){ return this.subCHString(start, start + length); }


转至:http://blog.csdn.net/clh604/article/details/8278303
原文地址:https://www.cnblogs.com/dcncy/p/8559575.html