Existe-t-il un pseudocode pour la validation de l'adresse ou du numéro de téléphone au Royaume-Uni?

StackOverflow https://stackoverflow.com/questions/277211

Question

Avez-vous un pseudocode pour la validation sur le terrain des éléments suivants au Royaume-Uni? Je viens des États-Unis et je ne connais que ceux des États-Unis pour le moment.

  • Adresse ligne 1
  • numéro de téléphone
  • Numéro de mobile (au cas où ils auraient une règle spéciale à ne pas faire)
  • Code postal
Était-ce utile?

La solution

Adresse ligne 1, si vous souhaitez valider ce que l'utilisateur a saisi au format libre, vous êtes probablement bloqué. Il y a une énorme variabilité. Vous pouvez utiliser le fichier d’adresse de code postal (voir ci-dessous) pour vous aider,

En règle générale, si vous souhaitez un "standard" adresse, les sites Web orientés vers le Royaume-Uni demandent le code postal, puis invitent l’utilisateur à choisir la bonne adresse parmi toutes les adresses de ce code postal

Numéros de téléphone et de portable. Voir ici http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom . Un script pour les valider (en plusieurs langues) est disponible à l'adresse suivante: http: // www .braemoor.co.uk / software / telnumbers.shtml

Format du code postal: http://en.wikipedia.org/wiki/UK_postcodes (contient une expression régulière pour la validation et fait référence au fichier d’adresses postales qui répertorie les adresses valides)

Autres conseils

La ligne 1 de l’adresse pourrait être presque n'importe quoi. Il n'y a pas toujours de numéro de maison.

Numéros de téléphone: la longueur d'un indicatif régional varie. Je ne voudrais pas jurer que la longueur totale est constante, mais je suppose que c'est toujours au moins 10 chiffres. Les numéros mobiles généralement (IME) commencent par 07 tandis que les lignes fixes commencent typiquement par 01 ou 02. Les numéros spéciaux (gratuits, tarif local, etc.) commencent généralement par 08. Je vais essayer de trouver une référence pour cela. (EDIT: Encore une fois, il existe un article de Wikipedia pertinent.)

Wikipedia a un bon article sur les codes postaux du Royaume-Uni , y compris les expressions régulières les concernant.

Perl dispose du module Number :: Phone pouvant gérer les numéros de téléphone du Royaume-Uni. Royal Mail propose des services de validation des adresses et de nettoyage de la liste.

Pour les numéros de téléphone britanniques, votre meilleur choix (malheureusement) est probablement de télécharger les plans de numérotation auprès de l’Ofcom (ce sont des feuilles de calcul Excel, avec toutes les tranches de numéros pertinentes, divisées en indicatifs régionaux, "numéros géographiques", numéros personnels , numéros de téléphone mobile, numéros de service assortis, les différents numéros de paiement et ont également un mappage d'une plage de numéros à un opérateur (ce dernier n'est probablement PAS quelque chose dont vous avez besoin, cependant).

Comme toujours avec ce type de question, ne vous attardez pas sur la validation excessive. Recherchez les entrées les plus susceptibles d’être grossièrement malformées puis passez à autre chose. Essayer de garder trace des préfixes et des longueurs de numéro de téléphone utilisés dans une région donnée est une énorme perte de temps. Il vaut mieux laisser quelques erreurs, éventuellement réparables, que de perdre des clients en leur disant qu’elles sont «invalides».

(Le format d'adressage le plus proche du Royaume-Uni est le code postal plus le numéro de rue. Même dans ce cas, il y a toujours des exceptions.)

J'ai commencé le code (ou au moins un ensemble de modèles RegEx) pour la validation des formulaires Django pour les numéros de téléphone GB ici .
Avec une explication de base ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top