[REGEX] gültige Uhrzeit mit Ausdruck pürfen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [REGEX] gültige Uhrzeit mit Ausdruck pürfen

    Hallo zusammen,

    hab mir gerade das tut über Ausdrucke angesehen und versuche nun eine Uhrzeit auf Gültigkeit zu prüfen. Folgender Code schlägt fehl obwohl ich nach dem tut der Meinung bin, dass es so richtig ist ... wahrscheinlich habe ich da was falsch verstanden. Wäre nett, wenn mir jemand erklären kann was ich falsch mache.

    Hier der Code:
    PHP Code:
    <?php
        $wert
    ="07:10";
        if(
    ereg ("(^[0-23])(.:)([0-59]$)"$wert)) {
            echo 
    "jupp!";
        }
    ?>
    Danke!

  • #2
    Re: [REGEX] gültige Uhrzeit mit Ausdruck pürfen

    PHP Code:
    <?php
        $wert
    ="07:10";
        if(
    ereg ("(^[0-2][0-9])(\.|:)([0-5][0-9]$)"$wert)) {
            echo 
    "jupp!";
        }
        else
            echo 
    'fehler';
    ?>
    Code:
    <?php
        $wert="07:10";
        if(ereg ("(^[0-2][0-9])(\.|:)([0-5][0-9]$)", $wert)) {
            echo "jupp!";
        }
        else
            echo 'fehler';
    ?>
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Comment


    • #3
      vielen Dank für die schnelle Hilfe ...
      leider kapiere ich nicht so recht den Unterschied zwischen [0-23] und [0-2][0-9] also ich verstehe schon, dass deine Varianate die beiden ersten Stellen einzeln prüft, aber warum geht denn 0-23 nicht ?!

      BTW [0-2][0-9] lässt auch 29 Stunden zu

      Comment


      • #4
        Original geschrieben von Patrick_PQ
        aber warum geht denn 0-23 nicht ?!
        weil du 07 und nicht 7 im string hast. '7' != '07'

        Original geschrieben von Patrick_PQ
        BTW [0-2][0-9] lässt auch 29 Stunden zu
        das muss so sein. das ist die neue zeitverordnung....
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Comment


        • #5
          ich denke ne kombi aus regex und weiteren bedingungen führt am schnellsten zum ziel
          Code:
          echo (preg_match('/^[\d]{2}[.|:][\d]{2}$/',$wert) && substr($wert,0,2)
          <=24 && substr($wert,3,2)<60) ?
          	'Uhrzeit':'keine Uhrzeit';
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Comment


          • #6
            vielen Dank an alle für die Erklärungen und Vorschläge ... werde mich jetzt mal in mein Handbuch vertiefen und versuchen die ganzen wilden Ausdrücke nachzuvollziehen!

            Comment

            Working...