IBAN 结构:各国格式与 MOD 97 校验位
IBAN(International Bank Account Number,国际银行账号)用于跨境识别银行账户,向欧洲、中东等地汇款时通常要提供收款人的 IBAN。所有 IBAN 结构相同,但长度和组成由各国自行规定,两位校验位能在汇款前发现大多数输入错误。本指南介绍 IBAN 的组成、如何阅读 SWIFT IBAN 注册表中的格式、以中央银行示例说明 MOD 97-10 校验方法,以及有效的 IBAN 不能证明什么。
IBAN 的组成
- 国家代码:ISO 3166 规定的两个字母,例如 DE、FR、GB。
- 校验位:按 ISO 7064 MOD 97-10 对整个 IBAN 计算出的两位数字。
- BBAN(Basic Bank Account Number):本国账号,通常包含银行代码,有时还包含分行代码和本国校验位。
相关标准是 ISO 13616,注册机构是 SWIFT:各国登记本国 IBAN 的长度和组成,SWIFT 以 IBAN 注册表的形式公布。第 103 版(2026 年 9 月)收录 89 个国家,LeedyBox 校验工具中的格式即来自该版本。中国内地、美国、日本、韩国不在注册表中,不使用 IBAN。
部分国家的格式
| 国家 | 长度 | 注册表格式 | 注册表示例 |
|---|---|---|---|
| 挪威(最短) | 15 | NO2!n4!n6!n1!n | NO93 8601 1117 947 |
| 德国 | 22 | DE2!n8!n10!n | DE89 3704 0044 0532 0130 00 |
| 英国 | 22 | GB2!n4!a6!n8!n | GB29 NWBK 6016 1331 9268 19 |
| 法国 | 27 | FR2!n5!n5!n11!c2!n | FR14 2004 1010 0505 0001 3M02 606 |
| 阿联酋 | 23 | AE2!n3!n16!n | AE07 0331 2345 6789 0123 456 |
| 俄罗斯(最长) | 33 | RU2!n9!n5!n15!c | RU03 0445 2522 5408 1781 0538 0913 1041 9 |
格式表示法中,n 为数字,a 为大写字母,c 为字母或数字,长度后的 ! 表示固定长度。例如 GB2!n4!a6!n8!n 表示 GB、两位校验位、4 个字母(银行)、6 位数字(sort code)和 8 位数字(账号),共 22 个字符。校验工具的国家列表可查看全部 89 个国家的格式和示例。
逐步校验校验位
土耳其共和国中央银行在其 IBAN 公告中以 TR47 0000 1001 0000 0350 9300 01 为例说明 MOD 97-10 校验:
- 去掉空格,把前四个字符(TR47)移到末尾:
TR470000100100000350930001变为0000100100000350930001TR47。 - 把每个字母换成两位数字:A = 10、B = 11 … Z = 35。T = 29,R = 27,得到
0000100100000350930001292747。 - 用这个数除以 97。有效的 IBAN 余数为 1。
这个数有 28 位,普通整数和浮点数都放不下。公告也给出了分段计算的方法:前 9 位 000010010 除以 97 余 19;把 19 放在后面数字前面,19000035093 余 43;最后 430001292747 余 1。只要把余数带到下一段,分段长度不限,程序也可以逐个字符处理。
计算新的校验位
- 依次写出 BBAN、国家代码和 00:以德国示例为例,
370400440532013000+DE+00。 - 替换字母(D = 13、E = 14),得到
370400440532013000131400。 - 求除以 97 的余数(这里是 9),用 98 减去它:98 − 9 = 89。结果小于 10 时前面补 0。
结果是 DE89 3704 0044 0532 0130 00。真实的 IBAN 由银行确定,开发者主要在制作测试数据时用到这个计算,校验工具生成测试 IBAN 时也是对随机 BBAN 使用这种方法。
校验能发现什么,不能发现什么
- 一定能发现:一位数字输错,以及相邻两位数字颠倒。97 是一个大于这些错误可能造成的任何差值的质数,所以余数一定会变。
- 通过格式发现:长度不对,或在应为数字的位置出现字母。因此校验工具会先检查注册表格式。
- 不检查:BBAN 内部的本国校验位,例如西班牙的两位校验数字或意大利的 CIN 字母。通过 MOD 97 的 IBAN 仍可能被银行拒绝。
- 无法从号码得知:账户是否存在、是否开立、能否收款、户主是否正确。
IBAN 的书写
书面上从左起每四个字符用空格隔开,最后一组可以不足四个;在电子支付报文中不加空格。阿联酋中央银行给出的书写示例是 AE07 0331 2345 6789 0123 456。两种写法是同一个 IBAN,表单最好两种都接受,并统一保存为一种。
常见问题
IBAN 和 SWIFT 代码(BIC)是一回事吗?
不是。IBAN 标识账户,BIC(常被称为 SWIFT 代码)标识银行。有些汇款两者都需要。
中国的银行账户有 IBAN 吗?
没有。中国不在 SWIFT IBAN 注册表中。从国外汇款到中国内地账户时,通常提供银行的 SWIFT(BIC)代码和账号。
可以用银行代码和账号自己拼出 IBAN 吗?
校验位可以计算,但有些国家对部分银行有特殊的转换规则。最稳妥的做法是使用银行对账单或网上银行显示的 IBAN。
校验工具会把我的 IBAN 发送出去吗?
不会。校验在浏览器中进行,只从 LeedyBox 加载注册表数据文件。
来源
来源:SWIFT: IBAN Registry, Release 103 (September 2026) · 核对日期:
来源:Central Bank of the UAE: IBAN · 核对日期: