从 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 重新上线)。
第二个答案解释了 IBAN 和 BIC 是如何制作的。
但似乎不可能从 IBAN 获得整个 BIC 号码。
下面我列出了一些 IBAN 号码和 BIC 号码。
**IBAN NUMBERS** **BIC**
NL 89 NGB 00071128791 INGBNL2A
NL 80 SNSB 0853811245 SNSBNL2A
NL 91 RABO 0143406515 RABONL2U
正如它所暗示的,您可以从 IBAN 号码中获取 BANK CODE 和 COUNTRY 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