【发布时间】:2020-09-29 22:10:34
【问题描述】:
我正在尝试解决一个问题,即我输入了此人的姓名、他的信用卡号。它必须识别该卡来自哪家公司,并且还必须掩盖除最后四位之外的号码的数字。例如以下几行
'Preston: 345678901234567'
'601234123456737 is a Discover card'
会变成
'Preston: ....4567'
'....6737 is a Discover card'
到目前为止,我已经完成了如何使用 http://www.regular-expressions.info/creditcard.html 验证卡公司的输入:
American Express: ^3[47][0-9]{13}$
Discover: ^6(?:011|5[0-9]{2})[0-9]{12}$
MasterCard: ^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$
Visa: ^4[0-9]{12}(?:[0-9]{3})?$
我对如何屏蔽除最后四位数字之外的其余数字感到困惑,并且没有很多文章和资源可以提供帮助。
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: regex perl credit-card