js银行卡、身份证号处理用***代替

今天在写需求时碰到银行卡号处理,于是就有下面这操作,它跟处理身份证一个逻辑,替换就行了!
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) //"******* 1111"
2.每四位隔开
const fourNums = (num) => {
 	return num.replace(/(.{4})/g, "$1 ")
} 
var bank_num1 = '222222222222222'
fourNums(bank_num1) //"2222 2222 2222 222"
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) //"3333 **** *** 3333"

你可能感兴趣的:(js,javascript,javascript,前端)