Je veux une expression régulière pour le temps correspondant au format HH: MM. Voici ce que j'ai et cela fonctionne:
^[0-2][0-3]:[0-5][0-9]$
Cela correspond à tout de 00h00 à 23h59.
Cependant, je veux le changer pour que 0:00 et 1:00, etc. correspondent également ainsi que 00:00 et 01:30. C'est-à-dire que le chiffre le plus à gauche est facultatif, pour correspondre à HH: MM ainsi qu'à H: MM.
Des idées pour faire ce changement? J'ai besoin que cela fonctionne en javascript ainsi qu'en php.
Réponses:
Votre expression régulière d'origine a des défauts: elle ne correspondrait pas
04:00
par exemple.Cela peut fonctionner mieux:
la source
^([0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Expressions régulières pour le temps
HH: format 12 heures MM, début 0 en option
HH: format 12 heures MM, début facultatif 0, méridiems obligatoires (AM / PM)
HH: MM 24 heures avec 0 en tête
HH: format 24 heures MM, début 0 en option
HH: MM: SS Format 24 heures avec 0 en tête
Référence et démo
la source
^([0-2][0-3]|[0-1][0-9]):[0-5][0-9]+$
significatif?Aucune de ces réponses n'a fonctionné pour moi. Au final, j'ai utilisé:
Logique:
Le premier nombre (heures) est soit: un nombre entre 0 et 19 ->
[0-1]?[0-9]
(permettant un numéro à un chiffre)soit
un nombre entre 20 - 23 ->
2[0-3]
le deuxième nombre (minutes) est toujours un nombre entre 00 et 59 ->
[0-5][0-9]
(ne permettant pas un seul chiffre)la source
[01]
fonctionne aussi bien;)^(0?[1-9]|1[0-2]):[0-5][0-9]$
^([0-1][0-9]|2[0-3]):[0-5][0-9]$
forcer un zéro nonVous pouvez utiliser celui-ci 24H, les secondes sont facultatives
la source
Le mieux serait pour HH: MM sans prendre aucun risque.
la source
^([0-1]\d|2[0-3]):[0-5]\d$
?Étonnamment, j'ai trouvé que tout cela ne le couvrait pas tout à fait, car ils ne fonctionnent pas pour un format plus court minuit de 0: 0 et quelques-uns ne fonctionnent pas non plus pour 00:00, j'ai utilisé et testé ce qui suit:
la source
Vous pouvez utiliser cette expression régulière:
Si vous souhaitez exclure 00:00, vous pouvez utiliser cette expression
La deuxième expression est la meilleure option car l'heure valide est 00:01 à 00:59 ou 0:01 à 23:59. Vous pouvez utiliser l'un de ces éléments selon vos besoins. Lien Regex101
la source
Allumettes:
Utilise le:
la source
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1); Console.WriteLine(date1.ToString("H:mm:ss", CultureInfo.InvariantCulture)); // Displays 6:09:01
. pour plus d'informations, voir le lienComme vous l'avez demandé le plus à gauche en option, j'ai fait le plus à gauche et le plus à droite en option aussi, vérifiez-le
Il correspond avec
Le lien en direct est disponible ici
la source
Vous pouvez utiliser l'expression régulière suivante:
la source
Déclarer
Cette méthode renvoie "true" lorsque la chaîne correspond à l'expression régulière.
la source
Une légère modification de la contribution de Manish M Demblani ci-dessus gère 4h du matin (je me suis débarrassé de la section des secondes car je n'en ai pas besoin dans mon application)
poignées: 4h00 4h00 4h00 4h00 16h00 4h30 etc.
la source
AM|am|aM|Am|PM|pm|pM|Pm
=[AaPp][Mm]
Le regex ci-dessous aidera à valider le format hh: mm
la source
Le mien est:
^(1?[0-9]|2[0-3]):[0-5][0-9]$
C'est beaucoup plus court
Je l'ai testé avec plusieurs exemples
Rencontre:
Et ne correspond à aucune instance invalide telle que 25:76, etc.
la source
09:30
ne correspondent pasVous pouvez essayer ce qui suit
Il peut détecter les modèles suivants:
la source
vérifiez cette regex de détecteur d'horodatage maître que j'ai construite pour rechercher un horodatage spécifié par l'utilisateur, des exemples de ce qu'il va récupérer, mais ce n'est certainement PAS limité à;
Il en ramassera également beaucoup plus, tant que les heures incluent des chiffres
la source
RegExr requires a modern browser. Please update your browser to the latest version and try again.
... Je ne peux même pas le voir ...: - /Essayez ce qui suit
Remarque: je supposais le moteur javascript regex. Si c'est différent de cela, faites-le moi savoir.
la source
Vous pouvez utiliser l'expression régulière suivante:
La seule modification que j'ai faite est le chiffre le plus à gauche est facultative. Le reste de l'expression régulière est le même.
la source