Espressione Regolare per controllo Orario

JellyBelly

Utente Attivo
4 Mar 2008
59
0
0
www.jellybellydev.it
Salve a tutti,
sto cercando di implementare un'espressione regolare che controlli il giusto inserimento di un campo orario.
Ho trovato nella rete questo codice:
Codice:
var pattern = /(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?/;
che controlla che il valore inserito sia così strutturato: 15:30

e funziona alla perfezione, ma ho notato che se l'utente inserisce una cosa simile a questa: 15:30-19:30

l'espressione regolare torna sempre true, quindi credo che l'espressione in oggetto controlli solo i primi 5 caratteri che siano nel formato giusto, ma dopo questi 5 posso scrive anche "merda" che l'espressione regolare torna sempre true! :(

Come posso modificare l'espressione per far in modo che controlli che non si aggiunga altro oltre i 5 caratteri nel formato corretto?

Grazie mille in anticipo!
Ciao
 
Ciao :)

La cosa migliore (e più semplice), e che tu inserisca nel campo di input dove viene inserita l'ora l'attributo maxlength:
<input type id='ora' maxlength='5'>

A quel punto sarà impossibile per l'utente inserire più di 5 caratteri nel campo ;)
 
Ciao :)

La cosa migliore (e più semplice), e che tu inserisca nel campo di input dove viene inserita l'ora l'attributo maxlength:
<input type id='ora' maxlength='5'>

A quel punto sarà impossibile per l'utente inserire più di 5 caratteri nel campo ;)

Grazie mille per il consiglio, ma alla fine ho risolto così:
Codice:
var pattern = /^([01]\d|2[0-3]):([0-5]\d)$/;

;)
 

Discussioni simili