中文字符串截取的js函数代码
2013-04-17 00:00
696 查看
为了解决这个问题昨天写了根据字节数截取字符串的函数。
具体使用很简单,跟String.subString(start, end)一样使用就可。比如:var str = "诶必塞第衣爱抚即"; var str1 = str.subCHStr(2, 2); var str2 = str.subCHString(2, 4); alert(str1 + " == " + str2);
具体使用很简单,跟String.subString(start, end)一样使用就可。比如:var str = "诶必塞第衣爱抚即"; var str1 = str.subCHStr(2, 2); var str2 = str.subCHString(2, 4); alert(str1 + " == " + str2);
Code //计算字符串长度 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); }
相关文章推荐
- 中文字符串截取的js函数代码
- (实用篇)php中计算中文字符串长度、截取中文字符串的函数代码
- 能够判断中文的js截取字符串并在末尾加上…的代码
- js substr支持中文截取函数代码(中文是双字节)
- php中计算中文字符串长度、截取中文字符串的函数代码
- php中计算中文字符串长度、截取中文字符串的函数代码
- php中计算中文字符串长度、截取中文字符串的函数代码
- php自动截取中文字符串 和 取出html、css、js格式函数
- THINKPHP截取中文字符串函数实例代码
- JS字符串截取函数实例
- 高效的中文字符串截取函数
- php 中文字符串截取函数
- js字符串截取函数slice()、substring()、substr()
- IE6和IE8下对js字符串截取函数substr兼容性问题
- php截取中文字符串函数实例
- PHP中英混合字符串截取函数代码
- ruby -- 基础学习(八)中文字符串截取的函数
- 高效的中文字符串截取函数
- 共享:在UTF-8编码情况下PHP截取中文字符串的代码