中文字符串截取的js函数代码

时间:2016.04.20 发布人:www2004t

中文字符串截取的js函数代码

已解决问题

谷歌www2004t用户在2016.04.20提交了关于“马自达中文字符串截取的js函数代码”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-03-01T10:04:52。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !

希望以下的回答,能够帮助你。

第1个回答

用户名:kwikl8747357  

为了解决这个问题昨天写了根据字节数截取字符问答串的函数。
具体使用很简单,跟String.subString(start,e均州nd)一样使用就可。比剧如:varstr="诶必塞第衣爱抚即";varstr1=str.subCh**Str(2,2);varstr2=str.subCh**String(2,4);alert(str1+"=="+str2);

复制代码代码如下:
Code
/区员余们干承硫燃集/计算字符串长度
S自死职雷香态洋tring.prototype.strLen=fun银短后感红大现体包造杀ction(){
varlen=0;
for(vari=0;i<this.length;i++){
if(this.charCode初哪蛋文占支本收At(i)>25厚胶夜员书究印林万松雷5||this.charCodeAt(i)<0)len+=2;elselen++;
}
returnle流止副商n;
}
//将字符串拆成字符,并头才白存到数组中
String.p旧还民来架三rototype.str革备ToChars=function(){
varchars=newArray();
for(vari=0;i<this.length;i++)任激府接差说{
chars[i]=[this.substr(i,1),this.isCh**S(i)];
}
String.prototype修呢合固又画某室火群顶.charsArray=chars;
returnchars;
}
//判断某个字符你照坐配松沙到是否是汉字
String.prototype.isCh**S=function(i){
if(this.charCodeAt(i)>255||this.charCodeAt(i)<0)
ret汉urntrue;
else
returnfalse;
}
//截取字符串(从start能板苏染调十但精字节到end字节)
Str命ing.prototype.subCh**String=function(start,end){
varlen=0;
varstr="";
this.strToChars();
for(vari=0;i<this.length;i++){
if(this.charsArray[i][1])
len+=2;
else
len++;
if(end<len)
returnstr;
elseif(start<len)
str+=this.charsArray[i][0];
}
returnstr;
}
//截取字符串(从start字节截取length个字节)
String.prototype.subCh**Str=function(start,length){
returnthis.subCh**String(start,start+length);
}