并不是随便的信用卡号都是合法的,它必须通过Luhn算法来验证。
验证过程:
1. 从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
2. 从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。
3. 将奇数位总和加上偶数位总和,结果应该可以被10整除。
例1
卡号是:5432 1234 5678 8881
则奇数(用红色标出)
奇数位和结果:
- 1+8+8+4+6+4+2+2+4=35
偶数位乘以2(如果乘积为两位数,则将其减去9