我想创建一个管道,每隔4位信用卡/借记卡号码添加一个空格。
这个隐藏了最后4位数字。
export class CreditCardMaskPipe implements PipeTransform {
transform(plainCreditCard: string): string {
const visibleDigits = 4;
let maskedSection = plainCreditCard.slice(0, -visibleDigits);
let visibleSection = plainCreditCard.slice(-visibleDigits);
return maskedSection.replace(/./g, '*') + visibleSection;
}
}
类似的东西,但要添加空格。
答案 0 :(得分:1)
你可以做这样的事情
export class CreditCardMaskPipe implements PipeTransform {
transform(plainCreditCard: string): string {
return plainCreditCard.replace(/\s+/g, '').replace(/(\d{4})/g, '$1 ').trim();
}
}
const plainCreditCard = '1234567891234567';
function transform(cardNumber) {
return cardNumber.replace(/\s+/g, '').replace(/(\d{4})/g, '$1 ').trim();
}
console.log(transform(plainCreditCard));
答案 1 :(得分:0)
numberList = 1234223432344234;
outStrint="";
for (var i = 0;i+4<= numberList.toString().length; i+=4) {
outStrint=outStrint+numberList.toString().slice(i, i + 4)+" "
}
console.log(outStrint);
答案 2 :(得分:0)
你可以这样做:
return [...plainCreditCard].map((chr, idx) => (idx + 1) % 4 ? chr : chr + ' ').join('').trim();
简单摘要:
const plainCreditCard = '1234567890123456';
const test = [...plainCreditCard].map((chr, idx) => (idx + 1) % 4 ? chr : chr + ' ').join('').trim();
console.log(test);
答案 3 :(得分:0)
我的回答是迟到了,但对其他搜索类似问题的人可能会有所帮助 NGX Mask 在转换卡,电话号码等方面确实很有帮助...
https://www.npmjs.com/package/ngx-mask
<span>{{creditCard | mask: '0000 0000 0000 0000'}}</span>