//獲取字元串長度String.prototype.strLen = function() { var len = 0; for (var i = 0; i < this.length; i++) { if (this.charCodeAt(i) > 255 || this.charCodeAt(i ...
//獲取字元串長度
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