Regex code aéroport IATA
Un code IATA, ce n'est pas juste « 3 lettres » : sur 17 576 combinaisons possibles, l'IATA n'en attribue réellement qu'environ 11 300 selon sa propre fiche officielle. Trois projets open source indépendants — un kit d'outils regex pour l'aviation, la contrainte de format de Wikidata, une application de réservation de vols réelle — utilisent pourtant tous exactement la même regex triviale, sans jamais la croiser avec la vraie liste attribuée. Un code inventé mais bien formé comme « ZZZ » ou « QQQ » passe les trois. Ce n'est pas un bug isolé : c'est le même raccourci qui se répète partout.
/^[A-Z]{3}$/passe 20/20 cas
Comparatif des patterns existants
Implémentation
const re = new RegExp("^[A-Z]{3}$", "");
re.test(input);Limites
- Valide seulement la FORME (3 lettres majuscules) : sur les 17 576 combinaisons possibles, environ 6 300 ne correspondent à aucun aéroport réellement desservi — « ZZZ » ou « QQQ » passent ce test aussi facilement que CDG ou JFK.
- Ne consulte pas la recherche officielle IATA (iata.org/en/publications/directories/code-search) : seule cette source confirme qu'un code est réellement attribué et à quel aéroport.
- Ne distingue pas le code IATA (3 lettres, usage commercial/passager) du code ICAO (4 lettres, usage opérationnel/aviation civile) : les deux systèmes coexistent pour un même aéroport sans forme commune.
- Une même combinaison de 3 lettres peut, rarement, être partagée dans le temps par des aéroports différents après le retrait d'un ancien code : ce motif ne peut refléter aucune notion d'historique ou de changement d'attribution.