从 IBAN 号码生成 BIC 号码

Posted

技术标签:

【中文标题】从 IBAN 号码生成 BIC 号码【英文标题】:Generate BIC number from IBAN Number 【发布时间】:2019-06-11 08:02:52 【问题描述】:

在我过去的研究中,我发现这些问题的答案并不符合我的喜好:

    Generate BIC from IBAN bank account number

    How to convert BIC & IBAN to account and sortcode

第一个答案,给出了一个API,它用于提供来自 IBAN 号码的 BIC。但是它已经离线了几个月(2019/07/25 更新:Openiban 重新上线)。

第二个答案解释了 IBANBIC 是如何制作的。

但似乎不可能从 IBAN 获得整个 BIC 号码。

下面我列出了一些 IBAN 号码和 BIC 号码。

**IBAN NUMBERS**               **BIC**
NL 89 NGB 00071128791         INGBNL2A
NL 80 SNSB 0853811245         SNSBNL2A
NL 91 RABO 0143406515         RABONL2U

正如它所暗示的,您可以从 IBAN 号码中获取 BANK CODECOUNTRY CODE。 但没有说明如何提取银行标识符

是否可以从 IBAN 号码中提取银行标识符? 是否有任何有效的 API 可以让我从 IBAN 号码中获取此 BIC 号码,以便在 javascript 中使用?

【问题讨论】:

你能查一下this API link 唯一可以保证的是 IBAN 的最大长度为 34、2 个字母的国家代码、2 个校验位,后跟最多 30 个完全取决于国家/地区的字符。甚至有一个想法是,如果您在国内更换银行,您可以保留您的 IBAN,并且 BIC 和帐号仅在过渡阶段用于创建 IBAN。只要不是这种情况,您就可以使用***IBAN formats by country 上的列表并将其转换为正则表达式。 @karthickj25 是的,它有效。但是 api 每天提供 20 个请求,并且必须升级更多请求。顺便说一句谢谢 是的,我知道,但无法通过将这些内容转换为正则表达式从 IBAN 获取 BIC 中包含的所有内容。您提供的文章将有助于构建模块。谢谢@t.niese @SarasaGunawardhana 你可以复制包含 GBkk bbbb ssss sscc cccc cc 的列,通过计算每个组的数量来创建匹配器 GB, 2x k, 4x b, 6x s, 8x c,然后为每个国家/地区代码构建一个正则表达式,然后遍历所有这些正则表达式以检查是否匹配。考虑到这些列,应该很简单。 【参考方案1】:

我认为此信息(BIC/SWIFT 代码)并不总是出现在 IBAN 号码中。看IBAN wiki article每个国家都有自己的标准,所以只有国家前缀和校验和是标准化的。尾随和最长的部分始终是某种与帐号连接的银行路由/代码。但问题是银行路由/代码适用于大多数国家,而不是 SWIFT 代码,即不是您要查找的内容。例如,在德国,他们使用始终为数字的 BLZ(我认为是 8 位数字)和 640 901 00 映射到 VBRTDE6RXXX BIC 代码,IBAN 中不会出现该代码。

你可以做的是:

    确定您需要支持的国家/地区列表。以后可能会添加更多国家/地区 从上面的 wiki 文章中获取每个国家/地区的算法 在某处抓取或查找并下载该国家/地区的银行代码 BIC/SWIFT 代码之间的映射。看看this resource 对算法进行编码,将银行代码与号码分开,并将其映射到步骤 3 中的 BIC 代码。

【讨论】:

是的,你的回答似乎是对的,我正在努力。谢谢@Alexey :)

以上是关于从 IBAN 号码生成 BIC 号码的主要内容,如果未能解决你的问题,请参考以下文章

在 asp.net 中的 Jquery 验证 BIC IBAN

避免从字符串中提取 IBAN 号码

swift code如何查询?

如何使用 Apache IBANCheckDigit 检查 IBAN 号码?

如何在四个字符组中编辑 IBAN 号码?

从 IBAN 银行帐号生成 BIC