J'ai besoin d'écrire une expression régulière pour vérifier le format de numéro de compte bancaire valide des grandes banques aux États-Unis et au Canada (je connais déjà le format du numéro de transit et le numéro d'établissement, mais je ne connais pas le format du numéro de compte) . Est-ce que quelqu'un sait ce que la vérification d'expression régulière devrait être? Peut-être que je viens de vérifier que tous les caractères sont des chiffres? p>
3 Réponses :
Les États-Unis ne sont pas conformes aux normes IBAN pour les numéros de compte; AFAIK, il n'y a pas de norme américaine définitive pour les numéros de compte, juste pour les numéros de routage. P>
Je crois que Phoebus est correct - il n'y a tout simplement pas de conformité de normes garanties dans le cas des États-Unis, une regex n'est donc pas aussi utile que l'on pourrait imaginer.
numéros de compte conformes à la ACH (Clearing Maison automatisée) Network Standard peut avoir jusqu'à 17 caractères alphanumériques - le problème n'est pas toutes les transactions financières. (Voir aussi United-States-Banking-Institution-Compte -Number-expression régulière ) p>
selon ce Document de brevet : P>
Pour le champ 5, situé à la position 13-39, le numéro de compte DFI implique 17 caractères, que l'exemple montre comme permettant toute forme alphanumérique. em> p> blockQuote>
Page 25 de Etat du programme EFT TAFT FACE de la Californie Le guide est d'accord avec ce qui précède. p>
p>
Donc, au moins vérifier la conformité au format ACH, recherchez 1 à 17 alpha-numériques forts>: p> xxx Pré> p>
une ressource montrant une utilisation spécifique de la norme ACH:
http://ribbs.pay_instruck/documents/techa_guides/membis_ncsc_ach_credit_payment_option. pdf p> p>
Il n'y a pas de norme américaine pour les numéros de compte bancaire. Cependant, NACHA fournit un Spécification pour les transactions ACH qui indique à un exemple de champ de numéro de compte (numéro de compte DFI ):
Les 17 caractères les plus à gauche sont insérés dans le numéro de compte DFI champ et les caractères restants tronqués. ... Si moins de 17 ans Les caractères, à gauche justifient et laissent les espaces non utilisés en blanc. p> blockQquote>
Le champ Numéro de compte DFI Dans le cadre du Détail de l'entrée CCD est indiqué comme ' alphameric ' (valeurs ASCII supérieure à 0x1f). P>
ici est La regex je suis venu avec. Il ne correspond pas à la gamme complète ASCII, mais je pense que cela gérera la plupart des numéros de compte. (17 caractères longs composés de mot, - ,. alphanumérique menant. Rightpad avec des espaces. Si le tableau de bord présente - non consécutif et non à la fin) p>
^(?<DFIAccountNumber>(?=[\w\- ]{17})[0-9A-Za-z](\-?\w+)*[ ]*)