Я должен отфильтровать ввод данных пользователем к на моей веб-странице ASP.NET:
<asp:TextBox runat="server" ID="recipientBankIDTextBox" MaxLength="11" />
<asp:RegularExpressionValidator runat="server" ValidationExpression="?" ControlToValidate="recipientBankIDTextBox" ErrorMessage="*" />
Как далеко, я знаю, что SWIFT-код должен содержать 5 или 6 букв, и другие символы до общей длины 11 являются алфавитно-цифровыми.
Как реализовать такое правило правильно?
Быстрый код должен состоять из 8 или 11 букв или цифр, где первые шесть должны быть буквами. Но в любом случае не имеет значения, что это такое, важно то, что вы понимаете, как создать такое выражение. Вот регулярное выражение с аннотациями, чтобы показать вам, что означают части.
^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$ ^ ^ ^ ^ | | | | 6 letters 2 letters 3 letters or digits or digits | last three are optional
Все примеры в Википедии показывают только прописные буквы A-Z. Если вы также хотите разрешить использование строчных букв, измените 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