Я нашел ответ от bonsvr полезным, спасибо. Из моего прочтения кода кажется, что это было специфично для ряда счетов CZ.
Поскольку я имею дело в основном с кодами IBAN в Ирландии, Великобритании и Германии, я разработал это регулярное выражение, чтобы заменить строку на objRegExp.Pattern =
... на ...
objRegExp.Pattern = "^[GB|IE]{2}\d{2}[a-zA-Z]{4}\d{14}|[DE]\d{20}$"
Надеюсь, это поможет кому-то еще, так как исходный код помог мне. Если вы хотите добавить свои собственные страны, расширьте вышеприведенное.
Примечание. Я удалил положение пробелов ([ ]
), поскольку в тексте, который я тестирую, его нет. Если вы хотите добавить их обратно каждые 4 символа, это легко сделать - или еще проще, замените первую строку кода выше на:
IBAN = Trim(Ucase(Replace(IBAN, " ", "")))
, который устранит пробелы, обрежет все лишние пробелы спереди и сзади и преобразует в верхний регистр. (Отделка может быть избыточной, но ремни и брекеты ...)
Выражение регулярного выражения состоит из [GB | IE] (GB или IE), позволяющего использовать либо код страны ISO, за которым следует тот же формат двухзначной контрольной суммы, 4-значный код банка и 14 цифр после него, как случай для этих двух страновых форматов IBAN. | [DE] допускает другое «или» для Германии, за которым следуют 22 цифры. Чтобы добавить другую страну, просто поместите текст перед знаком $, начиная с |.
Найти другие форматы стран здесь . (Википедия)