Regex pour code postal canadien

Utilisez /^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/ pour vérifier qu'une chaîne entière est un code postal canadien valide. Chaque exemple ci-dessous est testé avec ce modèle, et vous pouvez l'ouvrir dans le testeur de regex avec les exemples préchargés.

Mis à jour le

/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/
Ouvrir dans le testeur de regex
SaisieRésultat
K1A 0B1✓ Correspondance
M5V3L9✓ Correspondance
H2X 1Y4✓ Correspondance
D1A 0B1✗ Aucune correspondance
K1A-0B1✗ Aucune correspondance
12345✗ Aucune correspondance
k1a 0b1✗ Aucune correspondance

Fonctionnement du modèle

ÉlémentSignification
[ABCEGHJ-NPRSTVXY]Première lettre : les lettres D, F, I, O, Q, U, W et Z ne sont jamais utilisées
\dUn chiffre
[ABCEGHJ-NPRSTV-Z]Une lettre (D, F, I, O, Q, U exclues)
?Espace facultatif
\d[ABCEGHJ-NPRSTV-Z]\dChiffre, lettre, chiffre

Exemples de code

JavaScript

const re = /^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d', value))

PHP

preg_match('/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/', $value) === 1;

Remarques et limites

Mettez d'abord la saisie en majuscules si vous souhaitez accepter les entrées en minuscules : le modèle est volontairement sensible à la casse, afin de pouvoir rejeter les lettres non utilisées.

Questions fréquentes

Quelle est la regex pour un code postal canadien ?
/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/ — elle correspond à la chaîne entière. Consultez le tableau ci-dessus pour le rôle de chaque élément.
Quels exemples correspondent ?
Parmi les exemples testés, ceux-ci correspondent : K1A 0B1, M5V3L9, H2X 1Y4. Les autres ne correspondent pas.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le testeur de regex » : le modèle, les drapeaux et le texte d'exemple se chargent automatiquement, et les correspondances s'affichent en surbrillance pendant vos modifications.