中文字符串截取的js函数代码_Javascript教程-查字典教程网
中文字符串截取的js函数代码
中文字符串截取的js函数代码
发布时间:2016-12-30 来源:查字典编辑
摘要:为了解决这个问题昨天写了根据字节数截取字符串的函数。具体使用很简单,跟String.subString(start,end)一样使用就可。比...

为了解决这个问题昨天写了根据字节数截取字符串的函数。

具体使用很简单,跟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);

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类