IBAN 校验和各国长度核对:看懂国际银行账号的 mod-97 校验
把国际银行账号拆成国家码加校验位加账号,讲清 mod-97 取余怎么算、各国长度为何不同,以及外贸跨境转账前该怎么核对,避免一位打错就汇错钱。
IBAN 校验和各国长度核对:看懂国际银行账号的 mod-97 校验
做外贸的人多半都遇到过这个场景:供应商发来一长串字母数字混在一起的账号,开头是两个字母,后面一大截,让你把货款电汇过去。这串东西叫 IBAN,也就是国际银行账号。它看着吓人,其实结构很规整,规整到你不必把整串读懂,机器就能在转账前先帮你挑出绝大多数低级笔误。
IBAN 到底是怎么拼出来的
IBAN 是欧洲和不少地区通用的标准化账号串,由 ISO 13616 这份国际标准定义。它的拼法分三段,从左到右依次是:开头两位国家代码(DE 是德国,FR 是法国,GB 是英国),紧接着两位校验位,最后才是各国自己原有的账号部分,里面通常还嵌着银行代码和分行号。
举个真实的例子,把德国的 DE89 3704 0044 0532 0130 00 拆开看:
- DE:国家代码,德国
- 89:两位校验位
- 3704 0044 0532 0130 00:德国本国的账号串,前八位是银行和分行代码,后面是账户号
整串去掉空格一共 22 位,正好是德国 IBAN 的固定长度。那两位校验位不是随便填的,它是按整串算出来的,专门用来抓打错的数字。
mod-97 校验和:那两位校验位怎么用
校验位的算法叫 mod-97,出自 ISO 7064 这份校验标准。步骤说出来其实不绕:
- 把 IBAN 的前四个字符,也就是国家代码加两位校验位,整体挪到末尾去。
- 把每个字母换成数字,A 是 10,B 是 11,一直数到 Z 是 35。这样整串就只剩数字。
- 把这一长串数字当成一个大整数,除以 97,看余数。
- 余数正好是 1,校验通过;不是 1,就说明这串里有地方写错了。
拿英国账号 GB82WEST12345698765432 实际跑一遍:把 GB82 挪到末尾,字母按表换成数字,整串当大整数除以 97,余数恰好是 1。所以这个号码格式无误。反过来,你只要随手改掉其中一位数字,余数立刻就不是 1,校验当场失败。一位打错、两位写反这类最常见的笔误,mod-97 几乎都能抓住。
为什么各国长度不一样
经常有人以为 IBAN 应该是统一长度,其实差得挺远。原因在于每个国家都是在自己本来就有的账号格式之上,再套一层 IBAN 结构,本国账号有多长,IBAN 总长就跟着变。
挪威最短,只有 15 位;马耳他最长,到 31 位。德国和英国都是 22 位,法国 27 位,西班牙 24 位,意大利 27 位,荷兰 18 位,瑞士 21 位。所以核对一个 IBAN,光看 mod-97 还不够,还得拿前缀去对该国的应有长度。一个法国号码如果只有 22 位,哪怕每个字符看着都像样,也一定是错的,因为法国就是 27 位。
我自己踩过的坑
我第一次帮财务核对一个西班牙供应商的 IBAN 时,眼睛盯着屏幕一位一位数,数到第三遍人都麻了,还是没看出问题。后来才发现是对方在邮件里漏粘了一位,整串少了一个字符,长度对不上,可肉眼根本数不清那么长一串到底是 23 位还是 24 位。从那以后我养成习惯,先把号码丢进IBAN 校验器,让它把国家、应有长度、实际长度和 mod-97 结果一次性列出来,绿色就过,红色就明确告诉我哪一项没过。一秒钟的事,比数三遍可靠太多。
跨境转账和外贸里该怎么用
对做外贸、付国际货款的人来说,IBAN 校验是电汇前最便宜的一道保险。常见用法有这么几种:
- 供应商换账号时,把新 IBAN 先校验一遍,确认不是复制粘贴时弄丢或弄错了字符,再走付款流程。
- 在支付或薪资系统里批量存了一堆 IBAN,挑样本跑校验,能直接看出某条记录是长度不对、含了非法字符,还是 mod-97 对不上。
- 从纸质对账单手敲账号进转账表单后,校验一下,确认没有单个数字溜过去。
有一点必须反复强调:校验通过只代表号码写得规范、没有笔误,它绝不代表账户真的开通、真的属于你要找的那个人、里面真的有钱。这些只有收款银行在转账时才确认。所以格式过了之后,户名和开户行还得通过一个你信得过的渠道再和对方核对一遍。
还要记一条:中国、美国、加拿大都不在 IBAN 体系内。中国境内转账用 CNAPS 联行号加账号,跨境汇入中国靠 SWIFT/BIC 代码加账号,输入 CN 或 US 开头会被报成未知国家,这是正常的,不是工具坏了。
它和别的校验位算法是一家人
如果你对这类校验位算法感兴趣,会发现 IBAN 的 mod-97 和银行卡号用的那套思路是相通的,都是靠模运算从整串里算出一两位冗余位,专门抓输入笔误。想顺手对比,可以看看银行卡号 Luhn 校验,那是 16 位卡号背后的同类机制,理解了一个,另一个也就通了。
把这些校验放在转账或录入的第一道关,挡掉的不是高深的欺诈,而是最普通也最致命的那种错误:一位数字打错,钱就汇去了别处。
Made by Toolora · Updated 2026-06-13