hutool.core.bank

银行工具类

提供 IBAN(国际银行账号)的计算和验证功能。 基于 ISO 7064 mod 97-10 标准。

Module Contents

Classes

BankUtil

银行工具类,提供 IBAN 计算和验证。

API

class hutool.core.bank.BankUtil

银行工具类,提供 IBAN 计算和验证。

IBAN(International Bank Account Number)是国际银行账号标准, 校验算法基于 ISO 7064 mod 97-10。

static calculate_iban(account: str, bank_code: str, country: str = 'DE') str

根据账号和银行代码计算 IBAN。

算法步骤:

  1. 将银行代码和账号拼接为 BBAN(Basic Bank Account Number)

  2. 将国家代码 + 两个校验位(00)追加到 BBAN 末尾

  3. 将字母转换为数字(A=10, B=11, …, Z=35)

  4. 对 97 取模,用 98 减去余数得到校验位

参数:
  • account – 银行账号

  • bank_code – 银行代码(如德国的 BLZ)

  • country – 国家代码,默认 "DE"

返回:

完整的 IBAN 字符串

>>> BankUtil.calculate_iban('1234567890', '37040044')
'DE89370400441234567890'
static check_iban(iban: str) bool

验证 IBAN 是否合法。

将 IBAN 的前 4 位(国家代码 + 校验位)移到末尾, 将字母转换为数字后对 97 取模,结果应为 1。

参数:

iban – IBAN 字符串

返回:

是否合法

>>> BankUtil.check_iban('DE89370400441234567890')
True
>>> BankUtil.check_iban('DE00370400441234567890')
False
static _convert_chars(text: str) str

将字符串中的字母转换为对应的数字(A=10, B=11, …, Z=35), 数字保持不变。

参数:

text – 输入字符串

返回:

纯数字字符串