2010-01-12 10 views
6

Estoy tratando de crear una función javascript con expresión regular para validar y formatear la hora 24 horas, aceptando tiempos sin punto y coma y eliminando espacios.
Ejemplos:
Si el usuario escribe "0100", " 100" o "100 " sería aceptado, pero el formato para "01:00"
Si el usuario escribe "01:00" sería aceptada, sin necesidad de formato.Función de Javascript para validar la hora 00:00 con expresión regular

Gracias.

+3

¿qué ocurre si los tipos de usuario son 25:78 - un tiempo no válido? – Amarghosh

Respuesta

21

function formatTime(time) { 
 
    var result = false, m; 
 
    var re = /^\s*([01]?\d|2[0-3]):?([0-5]\d)\s*$/; 
 
    if ((m = time.match(re))) { 
 
     result = (m[1].length === 2 ? "" : "0") + m[1] + ":" + m[2]; 
 
    } 
 
    return result; 
 
} 
 
alert(formatTime(" 1:00")); 
 
alert(formatTime("1:00 ")); 
 
alert(formatTime("1:00")); 
 
alert(formatTime("2100")); 
 
alert(formatTime("90:00")); // false

Cualquier llamada con formato de entrada no válida se devuelve falso.

+0

Lo arreglé para que "27:00" no sea válido. – OcuS

+0

Ah, me ganaste. –

+0

Gracias Ocus, esta función hace el trabajo. – Amra

Cuestiones relacionadas