银行卡号规则

一张银行卡号不是随机数字,它有固定结构:发卡行识别码 + 个人账户标识 + 校验位。 理解这个结构,就能在没有银行数据的情况下,粗略判断一张卡属于哪家银行、什么卡种、多长。

卡号的四段结构

以 6222021234567890123(19 位)为例,可以拆成:

位置内容含义
第 1 位6卡组织标识。4 开头多为 Visa,5 开头多为 Mastercard,62 开头为银联。
第 1–6 位622202发卡行识别码(BIN / IIN),由卡组织分配给具体银行。这是整个卡号里最有信息量的一段。
第 7 位到倒数第 2 位123456789012个人账户标识,由发卡行按自己的规则生成,可能包含卡种、地区、序号等信息,但不对外公开规则。
最后 1 位3Luhn 校验位,由前面所有数字算出,用于发现输入错误。

所以「622202 开头是什么银行」这类问题有确定答案,而「卡号中间几位代表什么」通常查不到——那是银行内部编码,各家规则不同且不公开。

常见长度:16 位与 19 位

国内银行卡以 16 位 和 19 位 最常见,此外还有 15、17、18 位。长度由发卡行与卡种决定,同一个 BIN 下长度是固定的:

本站收录的 1,611 个 BIN 号段,每个都标注了对应的卡号长度,可以直接对照。

Luhn 校验:最后一位怎么来的

Luhn 算法(模 10 算法)规则很简单:

  1. 从右往左,对偶数位(第 2、4、6…位)的数字乘以 2;
  2. 乘完如果大于 9,就把两位相加(如 14 → 1+4=5);
  3. 把所有数字相加,总和能被 10 整除,卡号才通过校验。

它的作用是发现「输错一位」和「相邻两位颠倒」这类错误,不能判断卡是否存在、是否有效、有没有余额。 这也是为什么随便编一串数字也可能通过校验——Luhn 只是格式检查,不是身份验证。

联行号和卡号不是一回事

银行卡号联行号
标识对象个人账户银行网点(机构)
位数15–19 位固定 12 位
发放方发卡银行人民银行支付系统
用途刷卡、绑卡、转账到账户跨行转账时定位收款网点
能否互推不能。两者独立编码,没有换算关系。

填表时如果对方要「开户行联行号」,请到 按城市查 找到具体支行; 如果对方只要「开户银行」,填银行名称即可,不需要行号。

三个常见误解

「前 2 位就能看出是哪家银行」

不行。62 只代表银联,不代表某一家银行。工行、农行、建行都有大量 62 开头的卡,必须看到前 6 位才能区分。

「同一个 BIN 一定是同一种卡」

多数情况是,但银行会复用号段。BIN 表中的卡种是按号段整体标注的,个别情况下同一号段可能发过不同类型的卡,最终以银行 App 显示为准。

「输入卡号能查余额、查户主」

不能,而且危险。余额与户主信息只存在银行核心系统,任何第三方网站都拿不到。声称能查的,基本是诈骗或非法买卖个人信息。

查一个试试