Fonctionnement du motif
| Partie | Signification |
|---|---|
^\d{4} | Année sur quatre chiffres |
(?:0[1-9]|1[0-2]) | Mois 01–12 |
(?:0[1-9]|[12]\d|3[01]) | Jour 01–31 |
- | Tirets littéraux entre les parties |
Exemples de code
JavaScript
const re = /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])', value))PHP
preg_match('/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/', $value) === 1;
Notes et limites
Une regex peut vérifier le format, mais pas le calendrier : 2026-02-30 passe le test. Après la correspondance, confirmez avec une bibliothèque de dates ou new Date(value) et comparez les parties. Il s'agit du format ISO 8601 utilisé par <input type="date">.
Testeur d’expressions régulières
Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.