Saltar al contenido

Expresión regular para hacer coincidir el formato de hora HH: MM

Solución:

Su expresión regular original tiene fallas: no coincidiría 04:00 por ejemplo.

Esto puede funcionar mejor:

^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$

Expresiones regulares para el tiempo

  • HH: formato MM de 12 horas, 0 inicial opcional

      /^(0?[1-9]|1[0-2]):[0-5][0-9]$/
    
  • HH: formato MM de 12 horas, 0 inicial opcional, meridianos obligatorios (AM / PM)

      /((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))/
    
  • HH: MM 24 horas con 0 a la izquierda

     /^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/
    
  • HH: formato MM de 24 horas, 0 inicial opcional

     /^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/
    
  • HH: MM: SS formato de 24 horas con 0 a la izquierda

     /(?:[01]d|2[0-3]):(?:[0-5]d):(?:[0-5]d)/
    

Referencia y demostración

Ninguno de los anteriores funcionó para mí. Al final usé:

^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$ (js engine)

Lógica:

El primer número (horas) es: un número entre 0 y 19 -> [0-1]?[0-9] (permitiendo un número de un solo dígito)
o
un número entre 20 – 23 -> 2[0-3]

el segundo número (minutos) es siempre un número entre 00 y 59 -> [0-5][0-9] (no permite un solo dígito)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *