Hallo,
ich brauch einen regulären Ausdruck für eine Zeit/einen Interval. Der Benutzer soll 1359 eingeben, per regex möchte ich 13:59:00 erhalten. Gibt der Benutzer 135921 ein, wird folgerichtig 13:59:21 erkannt. Die Sekunden sind optional.
Da es sich nicht um eine Uhrzeit handelt, kann der Stundenanteil 24 überschreiten: 11359 sollte 113:59:00 werden.
Mein aktueller Ausdruck packt 11359 überhaupt nicht, 1135900 wird umgesetzt.
Hat jemand eine Idee oder einen kleinen Tipp für mich? Besten Dank schon mal im voraus.
ich brauch einen regulären Ausdruck für eine Zeit/einen Interval. Der Benutzer soll 1359 eingeben, per regex möchte ich 13:59:00 erhalten. Gibt der Benutzer 135921 ein, wird folgerichtig 13:59:21 erkannt. Die Sekunden sind optional.
Da es sich nicht um eine Uhrzeit handelt, kann der Stundenanteil 24 überschreiten: 11359 sollte 113:59:00 werden.
Mein aktueller Ausdruck packt 11359 überhaupt nicht, 1135900 wird umgesetzt.
Code:
var matches=test.match(/^(-?)((\d{1,})([:]?)(\d{2}))([:]?)(\d{2}?)/); alert(matches); if(matches && matches[5] <60 && (''==matches[7] || matches[7] <60)){ obj.value=matches[1]+matches[3]+':'+matches[5]+':'+(''==matches[7]?'00':matches[7]); }
Kommentar