Il n'existe pas d'expression régulière complète pour les codes postaux britanniques qui soit capable de validation de un code postal. Vous pouvez vérifier qu'un code postal est dans le bon format en utilisant une expression régulière, mais pas qu'il existe réellement.
Les codes postaux sont arbitrairement complexes et en constante évolution. Par exemple, l'outcode W1
ne dispose pas, et ne disposera peut-être jamais, de tous les numéros compris entre 1 et 99, pour chaque zone de code postal.
Vous ne pouvez pas vous attendre à ce que ce qui existe actuellement soit vrai pour toujours. Par exemple, en 1990, le bureau de poste a décidé qu'Aberdeen devenait un peu surpeuplé. Elle a ajouté un 0 à la fin de AB1-5 pour en faire AB10-50, puis a créé un certain nombre de codes postaux intermédiaires.
Chaque fois qu'une nouvelle rue est construite, un nouveau code postal est créé. Cela fait partie du processus d'obtention du permis de construire ; les autorités locales sont obligées de le tenir à jour auprès de la Poste (mais elles ne le font pas toutes).
En outre, comme l'ont noté plusieurs autres utilisateurs, il y a les codes postaux spéciaux tels que Girobank, GIR 0AA, et celui des lettres au Père Noël, SAN TA1 - vous ne voulez probablement pas poster quoi que ce soit à cet endroit, mais il ne semble pas être couvert par une autre réponse.
Ensuite, il y a les codes postaux BFPO, qui sont maintenant le passage à un format plus standard . Les deux formats seront valables. Enfin, il y a les territoires d'outre-mer source Wikipédia .
+----------+----------------------------------------------+
| Postcode | Location |
+----------+----------------------------------------------+
| AI-2640 | Anguilla |
| ASCN 1ZZ | Ascension Island |
| STHL 1ZZ | Saint Helena |
| TDCU 1ZZ | Tristan da Cunha |
| BBND 1ZZ | British Indian Ocean Territory |
| BIQQ 1ZZ | British Antarctic Territory |
| FIQQ 1ZZ | Falkland Islands |
| GX11 1AA | Gibraltar |
| PCRN 1ZZ | Pitcairn Islands |
| SIQQ 1ZZ | South Georgia and the South Sandwich Islands |
| TKCA 1ZZ | Turks and Caicos Islands |
+----------+----------------------------------------------+
Ensuite, il faut tenir compte du fait que le Royaume-Uni a "exporté" son système de codes postaux dans de nombreux endroits du monde. Tout ce qui valide un code postal "britannique" validera également les codes postaux d'un certain nombre d'autres pays.
Si vous voulez valider un code postal britannique, la façon la plus sûre de le faire est d'utiliser une recherche des codes postaux actuels. Il existe un certain nombre d'options :
-
Communiqués de l'Ordnance Survey Code-Point Ouvert sous une licence de données ouvertes. Ce sera légèrement en retard sur l'époque, mais c'est gratuit. Il n'y aura (probablement - je ne me souviens plus) pas de données sur l'Irlande du Nord, car l'Ordnance Survey n'a pas de mandat dans cette région. La cartographie de l'Irlande du Nord est réalisée par l'Ordnance Survey of Northern Ireland et ils ont leur propre système, séparé et payant, Pointeur produit. Vous pourriez l'utiliser et ajouter les quelques produits qui ne sont pas couverts assez facilement.
-
Royal Mail publie le Fichier d'adresses de codes postaux (FAP) Cela inclut le BFPO, mais je ne suis pas sûr que Code-Point Open le fasse. Il est mis à jour régulièrement mais coûte cher (et ils peuvent être carrément méchants à ce sujet parfois). PAF inclut l'adresse complète plutôt que les seuls codes postaux et est livré avec son propre système d'information. Guide du programmeur . L'Open Data User Group (ODUG) fait actuellement pression pour que le PAF soit publié gratuitement, voici une description de leur poste .
-
Enfin, il y a AddressBase Plus et AddressBase Premium . Il s'agit d'une collaboration entre Ordnance Survey, les autorités locales, Royal Mail et une société de jumelage pour créer un répertoire définitif de toutes les informations sur toutes les adresses du Royaume-Uni (ils ont eu un certain succès). Il est payant, mais si vous travaillez avec une autorité locale, un département gouvernemental ou un service gouvernemental, vous pouvez l'utiliser gratuitement. Il contient bien d'autres informations que les codes postaux.