我正在尝试实现对有效信用卡号的识别,以便我可以过渡到下一个字段。鉴于信用卡号有各种长度,我的问题是我是否可以指望这样一个事实:如果我确认一个有效的信用卡号(通过正则表达式和 Luhn 算法使用),我不会排除其他有效的信用卡号(就正则表达式/Luhn 和发行而言)更长。
问问题
274 次
4 回答
3
考虑有效 PAN 长度为 16 到 19 位数字的 Visa,因为最后一位数字是前面数字的校验位,总会有另一个 PAN 有一个额外的数字,它将通过 LUHN 测试。
4929847243031832
49298472430318328
492984724303183283
于 2016-05-21T13:33:42.890 回答
0
有效的信用卡号(PAN-primary account number)有11到24位数字,不同的系统有自己的长度,最后加上LRC(纵向冗余校验)。如果它是 VISA 或万事达卡的 18 个符号,则 123456789123456789 将是有效的。 https://en.wikipedia.org/wiki/Longitudinal_redundancy_check 在标准 ISO/IEC_7813 中定义https://en.wikipedia.org/wiki/ISO/IEC_7813
于 2016-05-29T18:27:38.450 回答
0
考虑法律问题:当用户认为他们输入了正确的号码时,他们真的应该是告诉你的人。我只删除空格,其他任何内容都可能使您因干扰而承担责任。我会建议您不要尝试做什么。在用户尝试进行交易时,这种可用性类型不会影响交易。
于 2016-05-29T20:11:54.843 回答
0
我不确定使用正则表达式是否是检查信用卡有效性的有效方法。几乎可以肯定地说 card.length=16 因为任何数字 1234567...16 都是有效的 我认为如果您正在实施支付系统以使用有效的支付处理库,因此您可以通过他们的图书馆
于 2016-05-21T13:37:56.730 回答