Heinz: Regex gesucht

Hallo,

ich möchte gerne einen  String in php prüfen. Er soll wenigstens 6 Zeichen haben und 4 Ziffern.

Ich bastel gerade an einigen Lösungsansätzen mit preg_match herum und habe doch den Eindruck, dass das einfacher gehen muss?

Wie also macht man sowas?

Grüße, Heinz

  1. Hi!

    ich möchte gerne einen  String in php prüfen. Er soll wenigstens 6 Zeichen haben und 4 Ziffern.
    Ich bastel gerade an einigen Lösungsansätzen mit preg_match herum und habe doch den Eindruck, dass das einfacher gehen muss?

    $test = 'f1o2o34';  
    # $test = 'f1o2o3';  
    var_dump(strlen($test) > 5 and strlen(str_replace(range(0,9), '', $test)) + 4 <= strlen($test));
    

    Der erste Teil testet die erste Bedingung: Stringlänge größer als 5. Der zweite ist etwas komplexer. Mit str_replace() werden alle Ziffern gegen Leerstring getauscht. Anschließend darf die verbleibende Länge plus 4 nicht größer als die des Originals sein.

    Lo!

    1. Der erste Teil testet die erste Bedingung: Stringlänge größer als 5. Der zweite ist etwas komplexer. Mit str_replace() werden alle Ziffern gegen Leerstring getauscht. Anschließend darf die verbleibende Länge plus 4 nicht größer als die des Originals sein.

      _Das_ finde ich schon sehr pfiffig!

      Allerdings meine ich auch, dass es nicht ganz korrekt ist?

      Denn ich möchte ja _mindestens_ 5 Buchstaben und 4 Ziffern zulassen. Demnach könnte jemand 10 Buchstaben und 10 Ziffern eingeben und ich weise das dann als falsch zurück.

      Oder habe ich es noch nicht ganz durchschaut?

      Grüße, Heinz

      1. Hi!

        Allerdings meine ich auch, dass es nicht ganz korrekt ist?
        Oder habe ich es noch nicht ganz durchschaut?

        Probier es mit einem entsprechenden Inhalt von $test. Wenn es nicht richtig arbeitet, nenn mir den Testkandidaten.

        Lo!