0

我在这里找到了一个匹配所有国家/地区的所有 IBAN 号码的正则表达式:

[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}

我尝试对其进行调整,使其具有两个捕获组,一个用于国家代码(前两个字母),一个用于帐号(最后 10 位数字?)

"^(?<CountryCode>[a-zA-Z]{2})[0-9]{2}[a-zA-Z0-9]{4}(?<AccountNumber>[0-9]{7}([a-zA-Z0-9]?){0,16})"

上面的正则表达式无法捕获帐号。我想基本上捕获最后 10 位数字,但由于 BBAN 在所有国家/地区都不同(这就是发明 IBAN 的原因),所以这并不总是相似的。

我希望有人能给我一些想法。

/编辑我将其更改为:

"^(?<CountryCode>[a-zA-Z]{2})[0-9]{2}[a-zA-Z0-9]{4}([0]*)(?<AccountNumber>([a-zA-Z0-9]?){0,16})";

这适用于我对荷兰号码的单元测试,但我不确定其他国家。我仍然很想听听你的评论。

4

1 回答 1

0

据我所知,BBAN 是除了国家代码和校验位之外的所有内容。在荷兰,它恰好是 4 个字母,其余的是银行帐户,但它可以是任何格式。所以基本上,“官方”BBAN 就是忽略前 4 个字母数字的一切。

https://en.wikipedia.org/wiki/International_Bank_Account_Number#Structure

于 2016-01-06T17:06:10.747 回答