今天在写需求时碰到银行卡号处理,于是就有下面这操作,它跟处理身份证一个逻辑,替换就行了!
1.只显示后四位
const onlyFourBank = (value) => {
if (value && value.length > 8) {
return `${"*".repeat(value.length - 8)}${value.length % 4 ? " " : ""}${value.slice(-4)}`;
}
return value;
}
var bank_num = '111111111111111'
onlyFourBank(bank_num)
2.每四位隔开
const fourNums = (num) => {
return num.replace(/(.{4})/g, "$1 ")
}
var bank_num1 = '222222222222222'
fourNums(bank_num1)
3.保留前后四位 中间每4个会有一个空格 3333*** **** 3333
const bankCard = (value) => {
if (value && value.length > 8) {
return `${value.substring(0, 4)} ${"*".repeat(value.length - 8).replace(/(.{4})/g, `$1 `)}${value.length % 4 ? " " : ""}${value.slice(-4)}`;
}
return value;
}
var bank_num3 = '333333333333333'
bankCard(bank_num3)