1. 程式人生 > >銀行卡號每隔四位添加一個分隔符

銀行卡號每隔四位添加一個分隔符

form 圖片 number 字符串 span 技術 mat 返回值 ==

輸入卡號:622848110110634315

輸出卡號:6228 4811 0110 0634 315

思路:輸入一個字符串,分隔成數組,循環數組,如果到第四位就加分隔符號,否則還是自己。下面封裝成一個方法,可以每任意位數添加任意分隔符

/**
 * 字符串分割公共方法
 * @param str string [要分割的字符串(卡號)]
 * @param gap number [以多少位分隔]
 * @param sep        [分隔符]
 * @return string    [返回值是分隔後的字符串]
 */
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, ‘ ‘);

輸出:

技術分享圖片

看過別人還用過正則,實現的方式有很多種,總之慢慢積累吧

銀行卡號每隔四位添加一個分隔符