CodeToolProCodeToolProFree Online Developer Tools
GitHub

IBAN Validator

Supported IBAN Countries

CountryCodeLengthExample
AlbaniaAL28AL35202111090000000001234567
AndorraAD24AD1400080001001234567890
AustriaAT20AT483200000012345864
BelgiumBE16BE71096123456769
Bosnia and HerzegovinaBA20BA393385804800211234
BulgariaBG22BG18RZBB91550123456789
CroatiaHR21HR1723600001101234565
CyprusCY28CY21002001950000357001234567
Czech RepublicCZ24CZ5508000000001234567899
DenmarkDK18DK9520000123456789
EstoniaEE20EE471000001020145685
FinlandFI18FI1410093000123458
FranceFR27FR7630006000011234567890189
GermanyDE22DE75512108001245126199
GreeceGR27GR9608100010000001234567890
HungaryHU28HU93116000060000000012345676
IcelandIS26IS750001234567891234567890
IrelandIE22IE64IRCE92050112345678
ItalyIT27IT60X0542811101000000123456
LatviaLV21LV97HABA0012345678910
LiechtensteinLI21LI7408806123456789012
LithuaniaLT20LT601010012345678901
LuxembourgLU20LU120010001234567891
MaltaMT31MT31MALT01100000000000000000123
NetherlandsNL18NL02ABNA0123456789
NorwayNO15NO8330001234567
PolandPL28PL10105000997603123456789123
PortugalPT25PT50002700000001234567833
RomaniaRO24RO09BCYP0000001234567890
SlovakiaSK24SK8975000000000012345671
SloveniaSI19SI56192001234567892
SpainES24ES7921000813610123456789
SwedenSE24SE1412345678901234567890
SwitzerlandCH21CH5604835012345678009
United KingdomGB22GB33BUKB20201512345678

技术详情

IBAN 验证器的工作原理

工具功能

IBAN 验证器可检查和验证国际银行账户号码(IBAN)的格式正确性和校验和有效性。工具验证两个层面:首先检查 IBAN 格式是否符合该国标准(国家代码 + 校验位 + BBAN),然后执行 MOD 97-10 校验算法验证数据的完整性。支持 75+ 个国家的 IBAN 格式验证,输出验证结果以及账户的 BIC(银行识别码)、所属银行和国家信息。即使 IBAN 在格式上正确,校验和失败也表明数据存在输入错误或伪造。


常见开发者使用场景

IBAN 验证在金融和支付系统中是必要的输入验证环节。电子商务的支付表单中需要验证用户输入的 IBAN 账户信息,在提交支付指令前拦截格式错误。ERP 系统或会计软件批量处理供应商银行信息时,用验证器清洗数据。国际汇款平台(如 Wise、Payoneer)的收款账户添加流程中验证是必需的。银行系统之间的 SEPA(单一欧元支付区)转账对 IBAN 格式有严格要求。企业金融机构在其后端系统中处理合规审计时也需要 IBAN 验证。

配合 密码强度检测器 构建完整的安全表单验证,或使用 电话号码解析器 验证国际支付相关的联系方式。


IBAN 校验算法 MOD 97-10

IBAN 的 MOD 97-10 验证步骤(ISO 13616):

  • 步骤 1 重排:将 IBAN 的前 4 个字符(国家代码 + 校验位)移到字符串末尾
  • 步骤 2 字母转数字:将每个字母替换为其在字母表中的位置 + 9(A=10, B=11, ..., Z=35),因为 MOD 97 需要纯数字输入
  • 步骤 3 大数取模:对转换后的大数(可达 30+ 位)进行 mod 97 运算。如果结果为 1,IBAN 校验和有效
  • 分段计算优化:为了避免大整数溢出,算法将长数字串分段(每 9 位)迭代取模,结果等价于整个大数取模

常见陷阱与注意事项

  • 国家特定格式:每个国家的 BBAN 长度和格式不同——德国 IBAN 22 位、英国 22 位、法国 27 位。通用验证器必须维护完整的国家格式规则表。
  • BIC 关联:IBAN 验证通过不代表银行账户真实存在——只确认格式和校验正确。实际转账时还需验证 BIC/SWIFT 码的正确性。
  • 空格处理:许多银行系统打印 IBAN 时每 4 位加空格分组以提高可读性。验证器应该忽略输入中的空格、连字符和制表符。
  • 非 IBAN 国家:美国、加拿大、中国、澳大利亚等国家不使用 IBAN 系统。对于这些国家需要账号号码+路由号、SWIFT 码等替代标识。

何时使用此工具而非代码

在支付系统中验证用户输入的 IBAN、批量清洗银行账户数据、或排查国际转账格式问题时使用此工具。对于需要服务端自动验证的场景,推荐使用 iban.js 或 ibantools 库(JavaScript)或 python-stdnum 的 iban 模块。