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能够实现流畅的动画效果,在实际应用中可能需要有这样的效果,那就是能够检测动画执行完毕进而执行相应的代码。