js實現的用指定字符每隔指定位數分割字符串
本章節分享一段代碼實例,它實現使用指定字符每隔指定位數分割字符串的功能。
其實這樣的功能應用非常的廣泛,最為常見的就是數字千分位分割效果,例如1,231,513。
當然這里不僅僅是針對數字,可以針對其他任何字符串。
代碼實例:
function insert_flg(str,flg,sn){
str=str.replace(new RegExp(flg,"g"),"");
var newstr="";
var tmp;
var len=str.length;//長度
var num=len/sn;//分段數
var Remainder=len%sn;
var start;
var end;
//len%sn //能否完整分段 0:是
for(i=0;i<num;i+=1){
if (len%sn!=0){//不能完整分段
start=(i-1)*sn+(i==0?0:1)*Remainder;
end=i*sn+Remainder;
}
else{
start=i*sn;
end=(i+1)*sn;
}
start=start<0?0:start;
if (end<=len){
tmp=str.substring(start,end);
}
newstr+=(end>=len)?tmp:tmp+flg;
}
return newstr;
}
console.log(insert_flg("31415926",",",4));
上面的代碼實現了我們的要求,下面介紹一下它的實現過程。
一.代碼注釋:
(1).function insert_flg(str,flg,sn){},此函數實現了分割效果,第一個參數要分割的字符串,第二個參數規定使用哪個字符分割字符串,第三個參數規定每隔幾位進行一次分割。
(2).str=str.replace(new RegExp(flg,"g"),""),將字符串中與分割符相同的字符清空。
(3).var newstr="",變量用來存放最終的結果。
(4).var tmp,此變量用來存放截取的字符串。
(5).var len=str.length,獲取字符串的長度。
(6).var num=len/sn,進行除法運算,計算出一個數字,數字的整數部分就是分段的數目。(7).var Remainder=len%sn,進行求余,獲取不能進行一個完整分段的字符的數目。
(8).var start,用來存儲截取的開始位置。
(9).var end,用來存儲截取的結束位置。
(10).for(i=0;i<num;i+=1){
if (len%sn!=0){//不能完整分段
start=(i-1)*sn+(i==0?0:1)*Remainder;
end=i*sn+Remainder;
}
else{
start=i*sn;
end=(i+1)*sn;
}
start=start<0?0:start;
if (end<=len){
tmp=str.substring(start,end);
}
newstr+=(end>=len)?tmp:tmp+flg;
}這個基本就是數學問題,因為是從字符串左側進行截取的,所以字符串要分可以恰好都能截取,比如1234可以被2完整截取兩次,12345則不能夠被2完整截取。沒沒法表述,一個數學問題,有問題的可以跟帖留言。
(1).replace()方法可以參閱正則表達式replace()函數一章節。
(2).RegExp()可以參閱正則表達式的創建一章節。
(3).substring()方法可以參閱javascript substring()一章節。
相關推薦
-
根據比例縮放圖片的尺寸不變形代碼實例
本章節介紹一下如何根據比例實現圖片的不變形縮放效果。下面是一段帶代碼實例u
-
javascript實現的補零代碼實例
本章節分享一段代碼實例,它實現了靈活的補零效果。代碼如下:function ddZro(str,lngth){ rturn nw rry(lngth - str.l
-
js如何實現將字符串中的字符順序翻轉
本章節介紹一下如何實現將一個字符串那種的字符順序翻轉。代碼實例如下:vr str=softwhy;vr nwStr=str.slit().rvrs().join();consol
-
js實現的在個位數字前面加0代碼實例
在很多應用中都有這樣的效果,就是在個位數字前面加0,比如8變換為08。下面就通過代碼實例介紹一下如何實現此效果。代碼如下:function don(num){ rturn num9?num:
-
js檢測css3動畫是否執行完畢代碼實例
由于硬件的進步,現在css3雖然說不上已經達到普及的程度,起碼也可以說應用已經非常廣泛。css3能夠實現流暢的動畫效果,在實際應用中可能需要有這樣的效果,那就是能夠檢測動畫執行完畢進而執行相應的代碼。















