银行卡校验工具
Luhn 校验位逐位验算,识别卡组织号段并给出正确末位
输入银行卡号
测试号来自支付行业公开文档,用于联调与自测。真实卡号请勿粘贴到任何网页:本工具完全在浏览器本地运算,不发起任何网络请求,也不保存输入。
工具介绍
收银系统、订单表、支付联调都会遇到「这个卡号是不是录错了」。Luhn 校验是几乎所有银行卡号的最后一道自检,本工具把它逐位摊开,并告诉你改哪一位可以通过:
- Luhn 验算:从右往左偶数位乘 2、超过 9 减 9,逐位表格展示原始数字、是否加倍、计入值与最终校验和
- 卡组织识别:按 BIN 前缀判断银联、Visa、万事达、美国运通、JCB、Discover、大莱
- 位数惯例核对:15、16、19 位与卡组织的常见长度不符时给出提醒,便于发现漏位
- 正确末位提示:校验不通过时,按前段号码反算出让整串通过的唯一末位数字
- 结构拆分:发卡机构标识 BIN(前 6 位)、个人账号段、校验位分别列出
- 输入容错:自动忽略空格与横线,识别纯数字异常串与超短、超长输入
使用场景
- 支付开发中对表单输入做前端预校验,减少无效请求
- 财务与运营核对表格里的卡号是否有手抄错误
- 测试环境构造符合校验规则的样例卡号
- 客服判断客户报出的卡号位数与卡组织是否匹配
- 学习 Luhn 与身份证校验位这两种「一位纠错码」的差别
卡组织号段与位数速查
| 卡组织 | 前缀特征 | 常见位数 | 安全码位置 |
|---|---|---|---|
| 银联 UnionPay | 62 开头 | 16 / 19 位 | 背面后三位 CVN2 |
| Visa | 4 开头 | 16 位(老卡 13 位) | 背面后三位 CVV2 |
| Mastercard | 51–55、2221–2720 | 16 位 | 背面后三位 CVC2 |
| American Express | 34 / 37 开头 | 15 位 | 正面右侧四位 CID |
| JCB | 3528–3589 | 16–19 位 | 背面后三位 |
| Discover | 6011、644–649、65 | 16 位 | 背面后三位 CID |
| Diners Club | 30、36、38 开头 | 14 / 16 位 | 背面后三位 |
常见问题
- 校验通过说明卡是真的吗?不是。Luhn 是一位纠错校验码,只保证号码内部自洽,无法证明卡已发行、未挂失或有余额,也无法验证持卡人身份
- 能查到是哪家银行吗?需要发卡机构 BIN 分配表,该表由银联与各卡组织发布并持续变动,静态网页内置的号段表只能判到卡组织一级
- 为什么提示改末位就能通过?前段号码固定时,使校验和整除 10 的数字恰好只有一个,因此「末位录错」是最常见的可自动修正错误;若是中间某位抄错,则需要逐位尝试才能定位
- 安全码可以一起校验吗?CVV2/CVC2 由发卡行密钥计算,规则不公开,任何网页都只能校验卡号本体,请勿在表单里收集安全码
- 可以把真实卡号粘贴进来吗?技术上不会上传,但不建议把真实卡号输入任何网页,包括本站;测试请用行业公开测试号
校验完号码,若要给号码加一道随机口令可用 随机密码生成;对表单里的敏感字段做脱敏请使用 隐私信息遮掩;同为「一位校验码」思路的 身份证号码校验 建议对照阅读。校验全程在浏览器本地完成。