首页 › 编程开发 › 银行卡校验工具
🔧

银行卡校验工具

Luhn 校验位逐位验算,识别卡组织号段并给出正确末位

输入银行卡号

测试号来自支付行业公开文档,用于联调与自测。真实卡号请勿粘贴到任何网页:本工具完全在浏览器本地运算,不发起任何网络请求,也不保存输入。

工具介绍

收银系统、订单表、支付联调都会遇到「这个卡号是不是录错了」。Luhn 校验是几乎所有银行卡号的最后一道自检,本工具把它逐位摊开,并告诉你改哪一位可以通过:

  • Luhn 验算:从右往左偶数位乘 2、超过 9 减 9,逐位表格展示原始数字、是否加倍、计入值与最终校验和
  • 卡组织识别:按 BIN 前缀判断银联、Visa、万事达、美国运通、JCB、Discover、大莱
  • 位数惯例核对:15、16、19 位与卡组织的常见长度不符时给出提醒,便于发现漏位
  • 正确末位提示:校验不通过时,按前段号码反算出让整串通过的唯一末位数字
  • 结构拆分:发卡机构标识 BIN(前 6 位)、个人账号段、校验位分别列出
  • 输入容错:自动忽略空格与横线,识别纯数字异常串与超短、超长输入

使用场景

  • 支付开发中对表单输入做前端预校验,减少无效请求
  • 财务与运营核对表格里的卡号是否有手抄错误
  • 测试环境构造符合校验规则的样例卡号
  • 客服判断客户报出的卡号位数与卡组织是否匹配
  • 学习 Luhn 与身份证校验位这两种「一位纠错码」的差别

卡组织号段与位数速查

卡组织前缀特征常见位数安全码位置
银联 UnionPay62 开头16 / 19 位背面后三位 CVN2
Visa4 开头16 位(老卡 13 位)背面后三位 CVV2
Mastercard51–55、2221–272016 位背面后三位 CVC2
American Express34 / 37 开头15 位正面右侧四位 CID
JCB3528–358916–19 位背面后三位
Discover6011、644–649、6516 位背面后三位 CID
Diners Club30、36、38 开头14 / 16 位背面后三位

常见问题

  • 校验通过说明卡是真的吗?不是。Luhn 是一位纠错校验码,只保证号码内部自洽,无法证明卡已发行、未挂失或有余额,也无法验证持卡人身份
  • 能查到是哪家银行吗?需要发卡机构 BIN 分配表,该表由银联与各卡组织发布并持续变动,静态网页内置的号段表只能判到卡组织一级
  • 为什么提示改末位就能通过?前段号码固定时,使校验和整除 10 的数字恰好只有一个,因此「末位录错」是最常见的可自动修正错误;若是中间某位抄错,则需要逐位尝试才能定位
  • 安全码可以一起校验吗?CVV2/CVC2 由发卡行密钥计算,规则不公开,任何网页都只能校验卡号本体,请勿在表单里收集安全码
  • 可以把真实卡号粘贴进来吗?技术上不会上传,但不建议把真实卡号输入任何网页,包括本站;测试请用行业公开测试号

校验完号码,若要给号码加一道随机口令可用 随机密码生成;对表单里的敏感字段做脱敏请使用 隐私信息遮掩;同为「一位校验码」思路的 身份证号码校验 建议对照阅读。校验全程在浏览器本地完成。