Voulait s'informer sur l'expression possible Regex pour le format horaire 24 heures en HTML 5 (HH: MM).
Si possible, merci de préciser la regex pouvant être utilisée dans l'attribut Pattern de HTML 5
L'heure devrait être au format 24 heures (HH pas plus de 23).
Sincères amitiés,
Je pense que c'est une approche possible:
<input type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" id="24h"/>
<input type="text" pattern="([01]?[0-9]{1}|2[0-3]{1}):[0-5]{1}[0-9]{1}" id="24h"/>
([01]?[0-9]|2[0-3]):[0-5][0-9]
Découvrez ce jsfiddle: exemple
Voici le code:
<input type="text" pattern="[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}" />
cela autorise les valeurs d'heures invalides: 24,25,26,27,28,29, si vous voulez être vraiment correct, vous pouvez le faire de cette façon:
<input type="text" pattern="([0-1]{1}[0-9]{1}|20|21|22|23):[0-5]{1}[0-9]{1}" />
Un regex un peu plus court:
(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}
Donc en complète:
<input type="text" pattern="(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}" />
Dans le premier groupe non capturant ("(? :)"), nous correspondons exactement à un chiffre, 0, 1 ou 2 non suivi de 4-9 (affichage négatif "(?!)"). Ensuite, je correspond à un chiffre supplémentaire, puisqu'il peut s'agir de 0 à 9, nous pouvons utiliser le raccourci\d. Ensuite, on fait correspondre le séparateur ":". Ensuite, un chiffre entre 0-5 et un chiffre supplémentaire entre 0 et 9 (toujours avec "\ d") . Si, pour une raison quelconque, vous devez également faire correspondre 24 heures (alors que vous le fassiez), ajustez simplement la perspective négative, e. g. "(?! [5-9])".