银行卡号规则
一张银行卡号不是随机数字,它有固定结构:发卡行识别码 + 个人账户标识 + 校验位。 理解这个结构,就能在没有银行数据的情况下,粗略判断一张卡属于哪家银行、什么卡种、多长。
卡号的四段结构
以 6222021234567890123(19 位)为例,可以拆成:
| 位置 | 内容 | 含义 |
|---|---|---|
| 第 1 位 | 6 | 卡组织标识。4 开头多为 Visa,5 开头多为 Mastercard,62 开头为银联。 |
| 第 1–6 位 | 622202 | 发卡行识别码(BIN / IIN),由卡组织分配给具体银行。这是整个卡号里最有信息量的一段。 |
| 第 7 位到倒数第 2 位 | 123456789012 | 个人账户标识,由发卡行按自己的规则生成,可能包含卡种、地区、序号等信息,但不对外公开规则。 |
| 最后 1 位 | 3 | Luhn 校验位,由前面所有数字算出,用于发现输入错误。 |
所以「622202 开头是什么银行」这类问题有确定答案,而「卡号中间几位代表什么」通常查不到——那是银行内部编码,各家规则不同且不公开。
常见长度:16 位与 19 位
国内银行卡以 16 位 和 19 位 最常见,此外还有 15、17、18 位。长度由发卡行与卡种决定,同一个 BIN 下长度是固定的:
- 16 位:多数借记卡与信用卡,历史最久、最通用的长度。
- 19 位:借记卡常见,多出的位数一般用于支行或账户序号,扩容后同号段可容纳更多账户。
- 18 位:部分银行的借记卡、联名卡采用。
- 15 位:早期卡种,现在较少见。
本站收录的 1,611 个 BIN 号段,每个都标注了对应的卡号长度,可以直接对照。
Luhn 校验:最后一位怎么来的
Luhn 算法(模 10 算法)规则很简单:
- 从右往左,对偶数位(第 2、4、6…位)的数字乘以 2;
- 乘完如果大于 9,就把两位相加(如 14 → 1+4=5);
- 把所有数字相加,总和能被 10 整除,卡号才通过校验。
它的作用是发现「输错一位」和「相邻两位颠倒」这类错误,不能判断卡是否存在、是否有效、有没有余额。 这也是为什么随便编一串数字也可能通过校验——Luhn 只是格式检查,不是身份验证。
联行号和卡号不是一回事
| 银行卡号 | 联行号 | |
|---|---|---|
| 标识对象 | 个人账户 | 银行网点(机构) |
| 位数 | 15–19 位 | 固定 12 位 |
| 发放方 | 发卡银行 | 人民银行支付系统 |
| 用途 | 刷卡、绑卡、转账到账户 | 跨行转账时定位收款网点 |
| 能否互推 | 不能。两者独立编码,没有换算关系。 | |
填表时如果对方要「开户行联行号」,请到 按城市查 找到具体支行; 如果对方只要「开户银行」,填银行名称即可,不需要行号。
三个常见误解
「前 2 位就能看出是哪家银行」
不行。62 只代表银联,不代表某一家银行。工行、农行、建行都有大量 62 开头的卡,必须看到前 6 位才能区分。
「同一个 BIN 一定是同一种卡」
多数情况是,但银行会复用号段。BIN 表中的卡种是按号段整体标注的,个别情况下同一号段可能发过不同类型的卡,最终以银行 App 显示为准。
「输入卡号能查余额、查户主」
不能,而且危险。余额与户主信息只存在银行核心系统,任何第三方网站都拿不到。声称能查的,基本是诈骗或非法买卖个人信息。