Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Regex Problem.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Regex Problem.

    Hallo..

    Kenne mich leider mit Regex überhaupt nicht aus. Würde aber gerne eine Matrikelnummer auf ihre Gültigkeit überprüfen:

    Bedingung:

    $string = 823456;

    1. Darf nur aus Ziffern bestehen
    2. Muss mit 8 anfangen
    3. Darf genau 6 Zeichen lang sein

    Habe mir regex angeschaut:
    if (preg_match ("/^[8]/", $string) // So kann ich feststellen, ob mein String mit 8 anfängt.
    if (preg_match ("/^[8]/", $string) // So kann ich feststellen, ob mein String nur als Zahlen besteht
    mit {6} kann ich die Länge angeben.

    Ich kann das Ganze aber nicht miteinander verbinden.

    Gruß und Dank im Voraus
    Aaron

  • #2
    if (preg_match ("/^8\d{5}/", $string) {

    Kommentar


    • #3
      Zitat von aaron_k
      if (preg_match ("/^8\d{5}/", $string) {
      so darf der String aber nur aus 6 Zahlen bestehen wor bei die erste Ziffer eine 8 sein muss

      so dürfen es auch normale Zeichen sein
      Code:
      if (preg_match ("/^8.{5}/", $string) {
      Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

      Kommentar


      • #4
        Zitat von HStev
        Zitat von aaron_k
        if (preg_match ("/^8\d{5}/", $string) {
        so darf der String aber nur aus 6 Zahlen bestehen wor bei die erste Ziffer eine 8 sein muss

        so dürfen es auch normale Zeichen sein
        Code:
        if (preg_match ("/^8.{5}/", $string) {
        Und was passiert bei
        $string = "865432A"; ?

        Endezeichen vergessen.

        Kommentar


        • #5
          Die Bedingung lautet:

          1. Darf nur aus Ziffern bestehen
          2. Muss mit 8 anfangen
          3. Darf genau 6 Zeichen lang sein

          Was stimmt hiermit nicht ?
          if (preg_match ("/^8\d{5}/", $string) {


          habe dich nicht verstanden ?

          Gruß
          Aaron

          Kommentar


          • #6
            @DiBo33:

            Wenn innerhalb des String Buchstaben vorkommen, erhalte ich folgende Fehlermeldung:

            Parse error: parse error, unexpected T_STRING in /var/www/katalog/test.php on line 24

            Zeile 24 -> $string = "865432A";

            Kommentar


            • #7
              if (preg_match ("/^8\d{5}$/", $string))

              Zu deiner letzten Frage, nein das passiert wenn du die 2. abschliessende Klammer vergisst.

              Kommentar


              • #8
                @DiBo33:

                So sieht das Ganze bei mir aus:

                PHP-Code:
                <?php
                $string 
                865432A;

                if (
                preg_match ("/^8\d{5}$/"$string)) {
                    echo 
                "ok";
                } else {
                    echo 
                "nicht ok";
                }
                ?>
                Fehlermeldung: Parse error: parse error, unexpected T_STRING in /var/www/katalog/test.php on line 24

                Zeile 24 -> $string = 865432A;


                Wenn ich A entferne, funktioniert alles. Sobald ein Buchstabe eingegeben wird, erscheint die Fehlermeldung.

                Guß
                Aaron

                Kommentar


                • #9
                  Auch in PHP gehören Strings immer noch in Hochkommas.

                  Kommentar


                  • #10
                    Zitat von DiBo33
                    Auch in PHP gehören Strings immer noch in Hochkommas.
                    das spielt aber nur ne Rolle wenn n $ Zeichen im String vorkommt
                    Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

                    Kommentar


                    • #11
                      Zitat von HStev
                      Zitat von DiBo33
                      Auch in PHP gehören Strings immer noch in Hochkommas.
                      das spielt aber nur ne Rolle wenn n $ Zeichen im String vorkommt
                      Häää?

                      Kommentar


                      • #12
                        Zitat von DiBo33
                        Häää?
                        probier mal folgendes
                        PHP-Code:
                        <?php
                        $var 
                        "Hallo Welt";

                        echo 
                        "$var";
                        echo 
                        '$var';
                        ?>
                        Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

                        Kommentar


                        • #13
                          du hast
                          --> $string = 865432A;

                          aber da da ein A enthalten ist, heisst das, dass es keine Zahl sein kann.

                          Deshalb $string = "865432A"; oder $string = '865432A';

                          Kommentar


                          • #14
                            Zitat von HStev
                            Zitat von DiBo33
                            Häää?
                            probier mal folgendes
                            PHP-Code:
                            <?php
                            $var 
                            "Hallo Welt";

                            echo 
                            "$var";
                            echo 
                            '$var';
                            ?>
                            Ach dat meinst du

                            Naja in dem Fall war beides gemeint.

                            Kommentar


                            • #15
                              was für ein Fehler *g*

                              Kommentar

                              Lädt...
                              X