Achim: newbie flippt mit ereg noch aus ?

Hallo,
kann mir bitte jemand helfen das folgende Problem zu lösen

ich möchte die korrekte eingabe einer rufnummer abfragen

Folgendes Format muß sie haben

++49<und alles was danach kommt muß aus 0-9 bestehen>

Gruß und danke

Achim

  1. Hallo,

    Hi!!

    ++49<und alles was danach kommt muß aus 0-9 bestehen>

    also, du musst eine variable definieren, die die restlichen nummern inkl. den beiden + speichert. dann definierst du ein array, dass dazu diehnt, den wertebereich einzugrenzen. dann verbindest du das array und die variable miteinander, per for-schleife. des weiteren musst du den aktuellen eingabetext abfragen, und diese beiden dann miteinander vergleichen.

    so könnt's gehn....

    grüße,
    rudolf

    1. Hallo,
      Hi!!
      ++49<und alles was danach kommt muß aus 0-9 bestehen>
      also, du musst eine variable definieren, die die restlichen nummern inkl. den beiden + speichert. dann definierst du ein array, dass dazu diehnt, den wertebereich einzugrenzen. dann verbindest du das array und die variable miteinander, per for-schleife. des weiteren musst du den aktuellen eingabetext abfragen, und diese beiden dann miteinander vergleichen.

      Sorry aber das war nicht die frage

      genau das "du den aktuellen eingabetext abfragen, "war die frage

      Gruß und trotzdem vielen dank

      Achim

      Oben habe ich nochmals gepostet um es besser zu beschreiben!!!

      1. Hallo Achim!

        Wie gesagt gehört eine weiter Erläuterung nicht in einen neuen Thread.

        Zu Deinem Problem:
        1. Solltest Du statt erig_match preg_match verwenden(http://www.php3.de/manual/de/function.preg-match.php).
        2. solltest Du dazu folgendes lesen:
        http://www.dclp-faq.de/ch/ch-regexp.html
        http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#zeichen ff.

        Das solltest Du erstmal lesen um zu verstene wie reguzläre Ausdrücke funktionieren. Mit preg_match kannst Du dann solche Ausdrücke verwenden.

        Wenn Du mehrere Eingaben durch Komma getrennt hast, würde ich die mit explode in einen Array einlesen (http://www.php3.de/manual/de/function.explode.php)

        mit trim kannst Du dann überschüssige Leerzeichen entfernen. Wenn bei der Aufzählung Fehler gemacht wurden, wird auch der reguläre Ausdruck schreitern, also kein Problem.

        Jedenfalls würde ich dann den Array mit den Nummern mit foreach (http://www.php3.de/manual/de/control-structures.foreach.php) durch eine Schleife laufen lassen, und darin jedes Element mit preg_match überprüfen.

        Viele Grüße
        Andreas

  2. Hallo

    Schritt 1: erste 4 Zeichen abspalten in $substring1, Rest als $substring2 speichern
    Schritt 2: prüfe $substring1=="++49" und ereg("[0-9]",$substring2)

    Mit etwas Gebastel sollte es auch als reiner Regulärer Ausdruck gehen, aber so fit bin ich da nicht.

    Grüße aus Würzburg
    Julian