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

Posted

技术标签:

【中文标题】如何在四个字符组中编辑 IBAN 号码?【英文标题】:How to edit an IBAN number in four character groups? 【发布时间】:2014-12-07 01:00:13 【问题描述】:

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

以电子方式传输时,IBAN 不应包含空格: 打印时以四个字符为一组表示 一个空格,最后一组是可变长度的,如图所示 下面的例子:

典型的 IBAN 如下所示:GR16 0110 1250 0000 0001 2300 695(取自上述链接)。

我想让用户更容易输入 IBAN 号码。目前我使用TDBEdit 来显示 IBAN 号码,并将其作为字符(不含空格)存储在数据库中。

我知道可以使用 TNumericField.DisplayFormat 格式化数字,也有 TMaskEdit,但两者都不是非常有用,因为 IBAN 不是数字并且在不同国家有不同的长度。

如何在 DB 控件中编辑四个字符组中的 IBAN 号码?

PS:我不是要求实际的 IBAN 验证,因为我已经知道了。

【问题讨论】:

FWIW,在某些国家(例如西班牙),IBAN 的格式略有不同。一个例子:Código internacional IBAN. @RudyVelthuis 该文档称该格式为西班牙的“国内银行帐号”:swift.com/dsp/resources/documents/IBAN_Registry.pdf 为什么投反对票?我的问题有什么问题? 不知道。它没有任何问题。 【参考方案1】:

您可以使用 IBAN 字段的 EditMask 属性,因为这也适用于字符串字段。适合 IBAN 的 EditMask 可能如下所示:

">LL00 aaaa aaaa aaaa aaaa aaaa aaaa aaaa aa;0; "

第一个字符使编辑字段将所有字符转换为大写。接下来的四个条目需要两个字母字符,后跟两个数字字符。空白代表请求的间隙。较低的“a”允许使用字母数字字符,但不需要。

掩码第二部分中的“0”将从存储在字段中的条目中删除任何文字(空白)。

掩码第三部分的空白使间隙空白显示为空白。

【讨论】:

以上是关于如何在四个字符组中编辑 IBAN 号码?的主要内容,如果未能解决你的问题,请参考以下文章

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

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

从 emv 卡中获取 IBAN 号码

如何使用java网络编程在四个系统之间创建点对点通信

从 IBAN 号码生成 BIC 号码

IBAN 验证检查