验证信用卡号码
mastercard必须包含16位数字,其中前两位必须为51~55。visacard可能有13位或16位,并且首位数字总是4。
其实,真正校验信用卡号码还要用到Luhn算法,Luhn算法是验证唯一标识符的方法,常用来验证信用卡号码。
Luhn算法:
1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
2、将偶数位数字相加,但是这里有个麻烦。必须先将数字乘以2,如果结果是两位数,将两个位上数字相加。然后将这些结果加入总和中。
3、将奇数位总和加上偶数位总和,如果信用卡号码是合法的,结果应该可以被10整除。
例如有卡号:5432123456788881
奇数位 4 2 2 4 6 8 8 1 和 35
偶数位 5 3 1 3 5 7 8 8
偶数位乘 2 10 6 2 6 10 14 16 16
两数位相加 1 6 2 6 1 5 7 7 和 35
总和:70,可以被10整除,合法卡号。
这仅仅是理论上分析合理的卡号序列,不代表此卡号一定真实有效存在,有可能未发行或已被废除都有可能。
也可以使用下列简单的javascript程序校验信用卡号码(注:网站不会记录你的输入,ctrl+U查看源代码)