regex für die Zeit validation

Möchte ich überprüfen mal mit einem regex. Erstellt habe ich den folgenden Ausdruck :

'#^([01][0-9])|(2[0-4])(:[0-5][0-9]){1,2}$#'

Hier ist das problem:

<?php
var_dump(preg_match('#^([01][0-9])|(2[0-4])(:[0-5][0-9]){1,2}$#', '14:25'));
//Returns 1 (OK)

var_dump(preg_match('#^([01][0-9])|(2[0-4])(:[0-5][0-9]){1,2}$#', '25:25'));
//Returns 0 (OK)

var_dump(preg_match('#^([01][0-9])|(2[0-4])(:[0-5][0-9]){1,2}$#', '14:2555'));
//Returns 1 (instead of 0 as I would like to get)
?>

Weiß jemand was falsch ist?

  • können Sie Beispiele nennen, was Sie erwarten?
  • Hier sind einige Beispiele: 14:25 OK, 25:30 KO, 14:65 KO, 14:59 OK, 14:34:43 OK
  • Nicht eine Antwort auf Ihre Frage, aber Sie sollten sich bewusst sein, dass es keine gültige Uhrzeit wie 24:*nn*
InformationsquelleAutor bgondy | 2012-07-02
Schreibe einen Kommentar