check formato ora

ciao a tutti,

vorrei fare un controllo sul formato della data inserita dall'utente in un form: dev'essere hh:mm

ho provato ad usare ereg in vari modi ma mi da' sempre errore anche se l'ora e' scritta bene. :tichedoff:

sul sito di php ho trovato un suggerimento per il formato data, ma non per quello delle ore e minuti, e scopiazzando un po' mi e' venuto fuori questo:

$check=ereg("(0[0-9]{2}|[1][0-9]{2}|[2][0-3]{2}):(0[0-9]{2}|[12345][0-9]{2})",$ora,$array_caratteri);

la funzione ereg mi restituisce sempre false anche se gli passo un valore che va bene, per es. 12:30.

probabilmente e' la mia sintassi di ereg che non va bene.

:'(

qualche idea in propostito??

grazie!!!!

ro

inviato 10 anni fa
ro679
X 0 X

Potresti procedere diversamente: fai un explode usando come carattere di separazione il :

list($ore,$minuti) = expolde(':',$orario);

poi controlla che $ore sia compreso tra 0 e 24 e minuti tra 0 e 59

:bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

come succede spesso, dopo qualche tempo che non ci pensi piu' vedi l'errore lampante davanti ai tuoi occhi... :D o ti viene l'idea geniale che aspettavi con ansia solo poche ore prima :2funny:

ho riscritto la sintassi ragionandoci con mente piu' fresca (??? alle 17 di venerdi???) e adesso funzia!

per la cronaca e per chi ne avesse bisogno:

$check=ereg("([012][0-9]):([012345][0-9])",$orario);

a presto!

ro

:bye:

risposto 10 anni fa
ro679
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda