由于数字也可以是小数,这让我认为 CC 数字应该是整数。这是有道理的,因为我认为没有任何信用卡以 0 开头,而且它们都遵循相同的模式:
4444333322221111
所以我猜它们是一个整数,但我不太确定国际卡是什么样的?有0开头的吗?
Update
感谢您的所有回复。存储它们的次数较少(实际上我只存储最后 4 个数字),而更多的是进行快速验证检查。无论如何,我只是将其视为整数进行验证,即确保其长度在 13-16 位数字之间,并且始终不为小数。
信用卡号码是不是严格意义上的数字。他们是strings,但是组成长 16 位数字的数字可以分解,以便使用数字的校验和来验证该数字。
您不会对 CC 编号进行任何乘法或除法,因此在我看来它应该是一个字符串。
快速前缀、长度和校验位标准
CARD TYPE | Prefix | Length | Check digit algorithm
-----------------------------------------------------------------
MASTERCARD | 51-55 | 16 | mod 10
VISA | 4 | 13, 16 | mod 10
AMEX | 34/37 | 15 | mod 10
Discover | 6011 | 16 | mod 10
enRoute | 2014/2149 | 15 | any
JCB | 3 | 16 | mod 10
JCB | 2131/1800 | 15 | mod 10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)