信用卡号校验
Luhn 算法校验卡号
分别检查格式、有限的卡组织前缀模式与 Luhn 校验位。通过这些检查不代表卡已发行、可交易或有余额。
最多 1,000 个非空行。输入仅在当前页面内处理,不保存本地草稿。结果仅显示末四位。
如何解读结果
Luhn 是校验位计算,能发现部分输入错误。全零号码也能满足这个算式,因此工具另做非全零、12–19 位长度及已识别模式的长度检查。字母和任意标点会报错,不会被悄悄删除。
前缀模式只覆盖 Visa、Mastercard、Amex 和部分 Discover 范围,不查询实时 BIN 数据;未收录不等于该卡组织不存在。这里不判断有效期、持卡人、CVV、账户状态或支付授权,请在支付服务商的测试环境验证支付流程。
完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。
工具说明
逐行检查允许字符、号码长度、有限的卡组织前缀模式和 Luhn 校验位,并分别显示结果。全零号码可以满足 Luhn 算式,但会被格式规则拒绝。Mastercard 支持 51–55 和 2221–2720 前缀以及 16 位长度。适合使用支付服务商的测试号码调试表单;通过本地检查不代表已发行、账户有效、身份属实或支付授权成功。输入不保存浏览器草稿,结果只显示末四位。
实战要点
信用卡号前端校验可以提升输入质量,但不等于风控。它只能算输入卫生层。
分层校验
前端可做 Luhn 和卡组织规则判断,提前拦截明显输入错误。
服务端必须再次校验,最终以支付网关结果为准。
合规意识
日志和分析事件中不要存储完整卡号。
尽量使用令牌化和托管支付字段,缩小 PCI 合规范围。
常见问题
通过 Luhn 就说明卡可以使用吗?
不是。Luhn 只是校验位计算,不核实卡是否已发行、有效期、持卡人、CVV、余额、账户状态或支付授权。
为什么全零号码的 Luhn 通过,格式却失败?
全零数字求和为零,能被十整除,因此满足算式。独立格式检查会拒绝全零、超出 12–19 位范围及与已识别前缀模式长度不符的输入。
允许去掉哪些分隔符?
开启选项后仅去掉空格和连字符。字母、小数点及其他标点仍报错,不会把所有非数字都静默删除。
卡组织标签代表什么?
它只是 Visa、Mastercard、Amex 和部分 Discover 范围的前缀模式匹配,不是实时 BIN 或发卡行查询。未收录的模式也可能满足 Luhn,不能直接据此判断对应卡组织无效。
输入会保存或上传吗?
校验在当前页面完成,不上传输入,也不保存本地草稿。结果只显示末四位,网站统计记录任务数量,不记录输入的号码。
如何检查重复的测试输入?
最多支持 1,000 个非空行和 100,000 个字符。可选去重会在处理允许的分隔符后合并相同数字候选;格式错误的行仍保留,便于逐行检查。
继续浏览