Regex pour l’heure (format 24 h HH:MM)

Utilisez /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/ pour vérifier qu’une chaîne entière correspond à une heure valide au format 24 h (HH:MM). Chaque exemple ci-dessous a été testé avec ce motif, et vous pouvez l’ouvrir dans le Testeur de regex avec les exemples déjà chargés.

Mis à jour le

/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/
Ouvrir dans le Testeur de regex
SaisieRésultat
00:00✓ Correspondance
23:59✓ Correspondance
14:30:15✓ Correspondance
09:05✓ Correspondance
24:00✗ Aucune correspondance
9:30✗ Aucune correspondance
12:60✗ Aucune correspondance
12:30:60✗ Aucune correspondance

Fonctionnement du motif

PartieSignification
(?:[01]\d|2[0-3])Heures 00–23
:Deux-points
[0-5]\dMinutes 00–59
(?::[0-5]\d)?Secondes facultatives

Exemples de code

JavaScript

const re = /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?', value))

PHP

preg_match('/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/', $value) === 1;

Notes et limites

Rendez le zéro initial facultatif avec (?:[01]?\d|2[0-3]) si les utilisateurs saisissent 9:30.

Questions fréquentes

Quelle est la regex pour l’heure (format 24 h HH:MM) ?
/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/ — elle correspond à la chaîne entière. Consultez le tableau ci-dessus pour le rôle de chaque partie.
Quels exemples correspondent ?
Parmi les exemples testés, ceux-ci correspondent : 00:00, 23:59, 14:30:15, 09:05. Les autres ne correspondent pas.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le Testeur de regex » : le motif, les indicateurs et le texte d’exemple se chargent automatiquement, et les correspondances s’affichent en surbrillance pendant que vous modifiez.