Luhn 算法校验器与校验位计算器
用 Luhn(mod 10)算法检查号码,或计算其校验位,附逐步计算表,并根据前缀推测卡组织。
通过 Luhn 校验只说明号码没有简单的输入错误,并不表示该卡、账户或设备真实存在或有效。
| 位置 | 数字 | 是否加倍? | 累加的值 |
|---|---|---|---|
| 11 | 7 | — | 7 |
| 10 | 9 | 9 × 2 = 18 → 9 | 9 |
| 9 | 9 | — | 9 |
| 8 | 2 | 2 × 2 = 4 | 4 |
| 7 | 7 | — | 7 |
| 6 | 3 | 3 × 2 = 6 | 6 |
| 5 | 9 | — | 9 |
| 4 | 8 | 8 × 2 = 16 → 7 | 7 |
| 3 | 7 | — | 7 |
| 2 | 1 | 1 × 2 = 2 | 2 |
| 1 | 3 | 校验位 | 3 |
Luhn 算法(mod 10)是银行卡号、IMEI 和一些国家身份证号背后的校验位方法。它能发现所有单个数字的输错,以及大部分相邻数字的互换。本工具可检查完整号码,或算出要附加的校验位,展示每一步加倍的过程,并根据开头几位推测卡组织。
使用方法
- 选择是检查完整号码,还是计算校验位。
- 输入或粘贴数字,空格和连字符都可以。
- 查看结果;若不通过,还会给出更正后的校验位。
- 用步骤表对照着手算一遍。
计算公式
从主体最右边的数字开始,每隔一位加倍(结果大于 9 就减 9),再把所有数字相加。校验位 = (10 − (和 mod 10)) mod 10。
完整号码在所有数字按同样方式加倍后的和是 10 的倍数时有效。校验位本身不加倍。
示例
对 7992739871,从右边起每隔一位加倍,得到的各值为 7、9、9、4、7、6、9、7、7、2,相加为 67。(10 − 7) mod 10 = 3,所以完整号码是 79927398713,其 Luhn 和为 70。
常见问题
结果有效就说明这张卡是真的吗?
不是。Luhn 只能发现输入错误。任何人都能造出通过校验的号码,真实的卡也可能已过期、被冻结或是假的。请勿在不信任的页面输入真实卡号;本页面完全在你的浏览器中运行。
Luhn 发现不了哪些错误?
它能发现所有单个数字的错误,以及几乎所有相邻两位互换的错误,只有 09 ↔ 90 例外。它发现不了互相抵消的两处错误。
卡组织是怎么识别的?
根据发卡机构前缀:4 开头是 Visa,51–55 和 2221–2720 是 Mastercard,34 和 37 是 American Express,等等。前缀范围会随时间变化,所以请把推测当作提示。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/luhn-checksum-tool/
引用此工具
kakaoCalc. (2026, November 8). Luhn 算法校验器与校验位计算器. https://kakao.mobile/zh/tools/luhn-checksum-tool/
“Luhn 算法校验器与校验位计算器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/luhn-checksum-tool/.