hutool.core.bank¶
银行工具类
提供 IBAN(国际银行账号)的计算和验证功能。 基于 ISO 7064 mod 97-10 标准。
Module Contents¶
Classes¶
银行工具类,提供 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。
算法步骤:
将银行代码和账号拼接为 BBAN(Basic Bank Account Number)
将国家代码 + 两个校验位(00)追加到 BBAN 末尾
将字母转换为数字(A=10, B=11, …, Z=35)
对 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 – 输入字符串
- 返回:
纯数字字符串