Что такое правильное выражение RegEx для SWIFT-кодов?
Я должен отфильтровать пользовательский ввод на моей веб-странице ASP.NET:
<asp:TextBox runat="server" ID="recipientBankIDTextBox" MaxLength="11" />
<asp:RegularExpressionValidator runat="server" ValidationExpression="?" ControlToValidate="recipientBankIDTextBox" ErrorMessage="*" />
Насколько я знаю, SWIFT-код должен содержать 5 или 6 букв, а остальные символы длиной до 11 буквенно-цифровые.
Как правильно реализовать такое правило?
3 ответа
Свифт-код должен состоять из 8 или 11 букв или цифр, где первые шесть должны быть буквами. Но в любом случае не имеет значения, что это такое, важно то, что вы понимаете, как создать такое выражение. Вот регулярное выражение с аннотациями, чтобы показать вам, что означают эти части.
^ [AZ]{6}[А-Z0-9]{2}([А-Z0-9]{3})?$ ^ ^ ^ ^ | | | | 6 букв 2 буквы 3 буквы или цифры или цифры | последние три необязательны
Все примеры в Википедии показывают только заглавные буквы AZ. Если вы также хотите разрешить строчные буквы, измените A-Z
в A-Za-z
, Я бы проверил стандарт ISO, чтобы увидеть, что это говорит, но, к сожалению, получить его копию не бесплатно.
Это должно сделать свое дело
^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$
Согласно http://en.wikipedia.org/wiki/ISO_9362...
/[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?/i