信用卡校验器 (Luhn 算法 + 品牌识别)
输入卡号验证 Luhn 校验是否通过, 并按 IIN/BIN 范围识别品牌 (Visa、Mastercard、Amex、Discover、JCB、Diners、UnionPay)。
工作原理
本校验器检查什么 (与不检查什么)
三项检查: (1) 前缀匹配已知发卡机构的 IIN/BIN 范围, (2) 长度是该品牌有效长度之一, (3) Luhn 校验通过。三项都通过, 卡号在格式上有效。
本工具不检查: 卡是否真实存在、是否有余额、持卡人是否授权使用。这需要通过真实支付处理商在合规授权下进行。本工具便宜地捕捉拼写错误 — 如复制时 1234 误打成 1243 — 但无法验证卡号是否对应真实账户。
Luhn 算法如何工作
Luhn (1954, IBM 科学家 Hans Peter Luhn) 是简单校验和: 从最右数字起, 每隔一位加倍。加倍后超 9 的数字, 把两位数字相加 (等价于减 9)。把所有结果数字求和。总和必须是 10 的倍数。
Luhn 捕捉单数字错误和大多数相邻交换错误 — 人复制长数字时最常见的两种。它不是密码学的; 不能用于检测恶意篡改。真实支付处理商把 Luhn 当后续昂贵后台检查前的第一道过滤。
按 IIN/BIN 识别品牌
卡号前 6-8 位识别发卡机构 (Issuer Identification Number / Bank Identification Number)。主要品牌有公认前缀范围: Visa 以 4 开头、Mastercard 51-55 或 2221-2720、Amex 34 或 37 等。我们通过匹配这些范围识别品牌。
通常可由 IIN 推断品牌与国家。完整 IIN 数据库查询给出国家、银行、卡类型 (借记/信用)、和卡计划 — 商家用于风险评分。我们不含完整 IIN 数据库; 仅最常见品牌模式。
常见问题
›可以用本工具校验真实卡号吗?
尽管我们只在浏览器运行, 你也不应把真实卡号粘贴到不深度信任的工具。语法检查请用标准测试卡号 (如 4111 1111 1111 1111)。
›为什么看起来正确的号码显示「无效」?
最常见 Luhn 校验失败 — 多半是拼写错误。再核对一遍数字。
›Luhn 校验证明卡存在吗?
不能。Luhn 只捕捉抄写错误。许多从未发行的号码也通过 Luhn; 许多真实卡若拼错也不通过。
›「BIN」是什么?
Bank Identification Number — 前 6-8 位标识发卡机构。与 IIN (Issuer Identification Number) 同义; 两术语可互换。
›可以用来生成测试卡号吗?
不直接, 但 Stripe/Visa/Mastercard 标准测试号码有完整文档 (如 4242 4242 4242 4242)。它们通过 Luhn 但绝不扣费。
›为什么没识别 [某品牌]?
我们支持主要品牌。地区或联名卡可能不匹配。请查发卡机构的 IIN 范围文档。
›数据会上传吗?
不会。校验完全在浏览器, 无网络调用。
›Luhn 用于信用卡之外的东西?
用。IMEI、加拿大 SIN、ISIN、NPI、和许多其他 ID 系统用 Luhn。算法相同; 仅前缀映射不同。
相关工具
最后更新: