Expression régulière pour la mise en correspondance HH:MM format de l'heure
Je veux une regexp pour la correspondance des temps dans le format HH:MM. Voici ce que j'ai, et ça fonctionne:
^[0-2][0-3]:[0-5][0-9]$
Cela correspond tout à partir de 00:00 à 23:59.
Cependant, je tiens à le modifier de sorte à 0:00 et 1:00, etc sont également adaptés ainsi que 00:00 et 01:30. I. e de faire le chiffre le plus à gauche en option, pour correspondre à HH:MM ainsi que H:MM.
Toutes les idées comment faire ce changement? J'ai besoin de ce travail se fait en javascript ainsi que php.
- En fait l'original de votre regexp ne correspondra pas à un ensemble de valeurs d'heure valides, par exemple, 17:00
Vous devez vous connecter pour publier un commentaire.
Original de votre expression régulière a des défauts: il ne correspond pas à
04:00
par exemple.Cela peut fonctionner mieux:
^([0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
^([0-9]|0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){1,2}$
0[0-9]|1[0-9]|2[0-3]
être avant[0-9]
? Lorsque, par exemple, est21
[0-9]
correspondra à prendre d'abord le premier chiffreAucun des ci-dessus a fonctionné pour moi.
En fin de compte, j'ai utilisé:
Logique:
Le premier nombre (en heures) est soit:
un nombre entre 0 et 19 -->
[0-1]?[0-9]
(un chiffre)ou
un nombre entre 20 - 23 -->
2[0-3]
le deuxième nombre (en minutes) est toujours un nombre compris entre 00 et 59 -->
[0-5][0-9]
(ne permettant pas à un seul chiffre)[01]
fonctionne tout aussi bien 😉^(0?[1-9]|1[0-2]):[0-5][0-9]$
Des Expressions régulières pour les Temps
HH:MM format de 12 heures, en option 0
HH:MM format de 12 heures, en option 0, obligatoire meridiems (AM/PM)
HH:MM 24 heures avec 0
HH:MM format de 24 heures, en option 0
HH:MM:SS format 24 heures avec 0
De référence et de Démonstration
^([0-2][0-3]|[0-1][0-9]):[0-5][0-9]+$
?Vous pouvez l'utiliser 24H, les secondes sont en option
Le mieux serait pour HH:MM sans prendre aucun risque.
^([0-1]\d|2[0-3]):[0-5]\d$
?Étonnamment, j'ai trouvé en fait, toutes ces ne sont pas tout couvrir, comme ils ne travaillent pas pour le format plus court de minuit de 0:0 et un peu de ne pas travailler pour 00:00 soit, j'ai utilisé et testé les suivantes:
Vous pouvez utiliser cette expression régulière:
Si vous souhaitez exclure 00:00, vous pouvez utiliser cette expression
Seconde expression est une meilleure option parce que la période de validité est de 00:01 à 00:59 0:01 à 23:59. Vous pouvez les utiliser à votre exigence.
Regex101 lien
Matches:
L'utiliser:
Vous pouvez utiliser la suite de la regex:
Déclarer
Cette méthode renvoie "true" lorsque Chaîne correspond à l'Expression Régulière.
Que vous avez demandé à la gauche de la plupart des bits en option, j'ai fait la plus à gauche et à droite de la plupart des bits en option aussi, check it out
Il correspond
Le lien direct est disponible ici
Une légère modification à Manish M Demblani de l' contribution ci-dessus
poignées de 4h du matin
(Je me suis débarrassé de la seconde section que je n'ai pas besoin dans mon application)
poignées:
4h du matin
4 am
4:00
4:00
4:00 pm
4h30
etc..
AM|am|aM|Am|PM|pm|pM|Pm
=[AaPp][Mm]
Ci-dessous regex permettront de valider le format hh:mm
Le mien est:
^(1?[0-9]|2[0-3]):[0-5][0-9]$
C'est beaucoup plus courte
Ai testé avec plusieurs exemple
Match:
Et ne correspond à aucune invalide exemple 25:76 etc ...
09:30
ne correspondent pashttps://regex101.com/r/cI3v4g/1
le vérifier ici.Vous pouvez essayer ce qui suit
Il peut détecter les modèles suivants :
cochez cette masterfull timestamp détecteur de regex, j'ai construit de regarder pour un utilisateur-date précisée, des exemples de ce qu'il va ramassage inclure, mais n'est certainement PAS limité à;
Il va également de ramassage beaucoup plus, aussi longtemps que le temps d'inclure des chiffres
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: j'ai été en supposant que le javascript moteur d'expressions régulières. Si elle est différente de celle qui s'il vous plaît laissez-moi savoir.
Vous pouvez utiliser la suite de la regex :
Seule modification que j'ai faite est plus à gauche chiffre est en option. Reste de la regex est le même.
19:00
.