← 返回工具指南
工具指南IBAN 校验SWIFT CodeBICMOD97国际汇款银行账户

IBAN 怎么校验?SWIFT / BIC 代码结构、MOD97 和国际汇款核对方法

说明 IBAN 国家代码、校验位、固定长度和 MOD97-10 算法,以及 8 位和 11 位 SWIFT/BIC 的结构与国际汇款防错边界。

打开配套工具 →

国际汇款资料里经常同时出现账户名、账号、IBAN、SWIFT 或 BIC。它们并不是同一个字段:IBAN 用国家规定的结构标识具体银行账户,BIC 用于识别机构及可选分支。把字符抄错一位,可能导致银行拒绝、退汇或人工修复;但格式完全正确,也不代表收款人一定真实可信。

可以使用 IBAN 与 SWIFT / BIC 格式检查器 在浏览器本地检查国家长度、可见结构和 MOD97-10 校验位,并批量导出核对报告。工具不会上传号码,也不会查询银行或账户数据库。

IBAN 的基本结构

根据 Swift 的 IBAN 官方说明,IBAN 是 ISO 13616 国际银行账户号码标准,Swift 受 ISO 指定维护国家格式注册表。一个电子格式 IBAN 包含:

  1. 两位国家或地区代码。
  2. 两位数字校验位。
  3. 各国固定结构的 BBAN,也就是国内账户部分。

IBAN 总长度最多 34 个字符,但不是每个国家都使用 34 位。德国 IBAN 固定 22 位,英国固定 22 位,法国固定 27 位,荷兰固定 18 位。只检查“总长度不超过 34”远远不够,还应根据开头国家代码核对该国注册长度。

印刷格式通常每四位加一个空格,便于人工核对;电子传输时应去掉分组空格。连字符、中文标点和其他装饰符号不属于标准电子格式。

MOD97-10 校验位怎么工作

IBAN 校验位使用 ISO/IEC 7064 MOD97-10 思路。简化过程是:

  1. 把前四位移到字符串末尾。
  2. 把字母按 A=10、B=11,一直到 Z=35 转成数字。
  3. 对得到的长数字计算除以 97 的余数。
  4. 合格 IBAN 的余数应为 1。

实际编程时不应把整个数字一次转换为 JavaScript Number,因为它可能远超安全整数范围。更稳妥的方法是逐位计算余数:每读入一位,就用 (上一余数 × 10 + 当前数字) mod 97 更新。这样无论 IBAN 多长都不会依赖大整数精度。

校验位能够发现大量单字符抄错和换位问题,但不是数字签名,也不是账户存在性证明。

SWIFT 和 BIC 是什么关系

BIC 是 Business Identifier Code,日常也常被称为 SWIFT code。Swift 的 BIC Policy 说明,BIC 由 8 位或 11 位连续字符组成:

8 位代码识别机构主体,11 位代码进一步指向分支或组织单元。常见的 XXX 分支写法不应被随意理解为某个具体营业网点,最终仍要按银行提供的正式汇款指示填写。

为什么有些国家没有 IBAN

IBAN 不是全球每个国家都采用的唯一账户格式。美国、中国、加拿大、澳大利亚等市场的国际汇款通常会使用本地账号、银行路由信息和 BIC 等字段,而不是由当地银行签发 IBAN。

因此,看到美国银行资料没有 IBAN,并不表示资料必然缺失;反过来,也不能给一个非 IBAN 国家普通账号随便加上国家代码和校验位。只有 Swift ISO 13616 注册表中的国家格式,才能按该注册结构称为 IBAN。

格式校验通过不代表账户真实

本地工具可以确认:

它不能确认:

“通过校验”只能说明号码在数学和格式上像一个合格值,不能替代银行预验证、收款人核验或合规筛查。

国际汇款前的实用核对步骤

大额或首次付款可以按下面顺序处理:

  1. 从正式合同、发票或供应商门户取得账户资料。
  2. 用格式工具排除明显抄写错误。
  3. 核对账户名、银行名、国家、币种、IBAN 和 BIC 是否逻辑一致。
  4. 如果收到“账户刚刚变更”的邮件,通过原有电话、视频或独立联系人复核。
  5. 让付款银行确认需要的字段和中间行信息。
  6. 必要时先进行小额测试,再处理大额余款。
  7. 保存核对记录、付款指示和对方确认资料。

国际汇款最危险的错误往往不是少一个空格,而是把格式正确的号码付给了错误的人。自动校验负责减少输入错误,人工和银行核验负责确认交易对象,两者不能互相替代。