銀行卡號每隔四位添加一個分隔符
阿新 • • 發佈:2019-05-16
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, ‘ ‘);
輸出:
看過別人還用過正則,實現的方式有很多種,總之慢慢積累吧
銀行卡號每隔四位添加一個分隔符