什么是信用卡号验证?
信用卡号验证是在处理交易前检查卡号是否可能有效的过程。它使用 Luhn 算法和卡品牌识别来验证格式。
Luhn 算法
Luhn 算法(也称为 Mod 10)是一种用于验证识别号码的校验和公式。以下是它的工作原理:
- 从最右边的数字开始,每隔一位数字乘以 2
- 如果乘以 2 后的结果大于 9,则减去 9
- 将所有数字相加。如果总和能被 10 整除,则号码有效
支持的卡品牌
卡品牌通过 BIN(银行识别号)或 IIN(发卡机构识别号)来识别,即卡号的前几位数字。
- Visa:
4·13, 16, 19 - Mastercard:
51-55,2221-2720·16 - American Express:
34,37·15 - Discover:
6011,65,644-649,622126-622925·16, 19 - JCB:
3528-3589·16, 17, 18, 19 - UnionPay:
62·16, 17, 18, 19 - Diners Club:
36,38,39,300-305·14, 16, 19