Регулярное выражение для номера банковского счета?

Мне нужно написать регулярное выражение, чтобы проверить действительный формат номера банковского счета крупных банков в США и Канаде (я уже знаю формат транзитного номера и номера учреждения, но я не знаю формат номера счета). Кто-нибудь знает, какой должна быть проверка регулярных выражений? Возможно, я просто проверяю, чтобы убедиться, что все символы являются цифрами?

3 ответов


США не соответствуют стандартам IBAN для номеров счетов; AFAIK нет окончательного стандарта США для номеров счетов, только для номеров маршрутизации.


Я считаю, что Феб прав - в случае США просто нет гарантированного соответствия стандартам, поэтому регулярное выражение не так полезно, как можно себе представить.

номера счетов, соответствующие ACH (автоматизированный Информационный центр) стандарт сети может иметь до 17 буквенно-цифровых символов-проблема не во всех финансовых операциях ACH. (смотреть также США-банковский-институт-счета-номер-регулярное выражение)

по этому патентный документ:

для поля 5, расположенного в позиции 13-39, номер счета DFI влечет за собой 17 символов, которые в примере показаны как разрешающие любую буквенно-цифровую форму.

страница 25 из штат Калифорния налоговая Francise Совет руководство по программе EFT согласен с вышесказанным.

Итак, чтобы хотя бы проверить соответствие формата ACH, проверьте от 1 до 17 альфа-цифр:

^\w{1,17}$

ресурс, который показывает конкретное использование ACH standard:
http://ribbs.usps.gov/ncsc_ach_pay_instruct/documents/tech_guides/Memphis_NCSC_ACH_Credit_Payment_Option.pdf


нет стандарта США для номеров банковских счетов. Однако нача предоставляет спецификация для транзакций ACH, в котором указано для примера поле Номер счета (номер счета DFI):

самые левые 17 символов вставляются в номер счета DFI поле и остальные символы усечены. ... Если меньше 17 символы, оставленные оправдать и оставить неиспользуемые пробелы пустыми.

поле Номер счета DFI как часть деталь входа CCD указана как 'цифровой' (значения ASCII больше 0x1F).

вот регулярное выражение я придумал. Он не соответствует полному диапазону ASCII, но я думаю, что он будет обрабатывать большинство номеров счетов. (17 символов, состоящих из слова, -,. буквенно-цифровое лидерство. rightpad с пробелами. если прочерк-не подряд и не в конце)

^(?<DFIAccountNumber>(?=[\w\- ]{17})[0-9A-Za-z](\-?\w+)*[ ]*)