sexta-feira, 14 de junho de 2013

Regex para horas - Máscara para horas

Para não usarmos máscaras prontas (maskedinput, entre outros) para formatar horários em um campo de texto, podemos aplicar uma regex. Porém, existem algumas considerações a serem analisadas.

Existem dois formatos para horas. O primeiro formato é o formato AM/PM, que vai de 00 até 12, simbolizando meia noite e meio dia.

Exemplo:
10:00 pm
02:00 am
05:00 am
07:00 am
11:00 pm
11:00 am
5:00 pm

O segundo formato é o formato tradicional que vai de 00 até 00 do outro dia. Exemplo:

20:35
17:00
19:00
21:00
04:30
02:55

Já que existem dois formatos diferentes, vamos construir uma regex para cada formato. A primeira regex é para o formato AM/PM.

 (0[0-9]|1[0-2])\:[0-5][0-9]

A segunda regex é para o formato tradicional.
 
 ([0-1][0-9]|2[0-4])\:[0-5][0-9] 



Ambas regex são para o formato hh:mm.
Leia Mais ››