11
votes

Qu'est-ce qu'une expression de regex appropriée pour les codes SWIFT?

Je dois filtrer l'entrée utilisateur sur sur ma page Web ASP.NET:

<asp:TextBox runat="server" ID="recipientBankIDTextBox" MaxLength="11" />
<asp:RegularExpressionValidator runat="server" ValidationExpression="?" ControlToValidate="recipientBankIDTextBox" ErrorMessage="*" />


0 commentaires

3 Réponses :


4
votes

Selon http://fr.wikipedia.org/wiki/iso_9362 .. .

/[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?/i


0 commentaires

36
votes

Un code SWIFT doit être de 8 ou 11 lettres ou chiffres dans lesquels les six premières doivent être des lettres. Mais de toute façon, cela ne comporte pas vraiment ce qu'il est, ce qui compte, c'est que vous comprenez comment créer une telle expression. Voici une expression régulière avec des annotations pour vous montrer ce que signifie les pièces.

^[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


0 commentaires

6
votes

Cela devrait faire le tour xxx


2 commentaires

Quoi pour il y a deux groupes différents - premier et deuxième - avec l'expression égale? Pourquoi pas seulement ([a-za-z]) {6} ?


Oui, vous êtes correct que vous pourriez faire cela - je le divisions à deux groupes uniquement sur la base du fait que le premier groupe appartient à la banque et que le deuxième groupe est le code de pays. E.g pour Natwest Bank, Royaume-Uni. NWBK plus GB .