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

Jen*_*off 0 delphi string-formatting iban editcontrol delphi-xe3

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

当以电子方式传输时,IBAN不应包含空格:打印时,它由以单个空格分隔的四个字符组表示,最后一组具有可变长度,如下例所示:

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

我想让用户更容易输入IBAN号码.目前我用a TDBEdit来显示IBAN号码,它作为字符存储(没有空格)在数据库中.

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

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

PS:我不是要求实际的IBAN验证,因为我已经弄明白了.

Uwe*_*abe 7

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

">LL00 aaaa aaaa aaaa aaaa aaaa aaaa aaaa aa;0; "
Run Code Online (Sandbox Code Playgroud)

第一个字符使编辑字段将所有字符转换为大写.接下来的四个条目需要两个字母字符,后跟两个数字字符.空白表示所要求的差距.较低的"a"允许使用字母数字字符,但不需要它.

掩码第二部分中的"0"将从存储在字段中的条目中删除任何文字(间隙空白).

掩模第三部分中的空白使间隙空白显示为空白.