银⾏卡号每隔四位添加⼀个分隔符
输⼊卡号:622848110110634315
输出卡号:6228 4811 0110 0634 315
思路:输⼊⼀个字符串,分隔成数组,循环数组,如果到第四位就加分隔符号,否则还是⾃⼰。下⾯封装成⼀个⽅法,可以每任意位数添加任意分隔符
/**
* 字符串分割公共⽅法
* @param str string [要分割的字符串(卡号)]
逗号分割的字符串转数组* @param gap number [以多少位分隔]
* @param sep        [分隔符]
* @return s tring    [返回值是分隔后的字符串]
*/
const formatSplitString = (str = '', gap = 1, sep = ' ') => {
if (!str) {
return '';
}
let l = str.length - 1;
let strArr = str.split(''); // 将字符串分割成字符串数组
return strArr.map((elem, i) => {
if (i % gap === gap - 1 && i !== l) {
return elem + sep; // 当前元素+分隔符
} else {
return elem;
}
}).join(''); // 放⼊⼀个字符串
}
测试⼀下:
四位数空格分隔:formatSplitString('622848110110634315', 4, ' ');
输出:
四位数逗号分隔:formatSplitString('622848110110634315', 4, ',');
输出:
三位数空格分隔:formatSplitString('622848110110634315', 3, ' ');
输出:
看过别⼈还⽤过正则,实现的⽅式有很多种。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。