graho: Reguläre Ausdrücke

Hallo !

Habe ein problem mit regulären Ausdrücken.
Mochte ein Formular vorher auswerten bevor es als Mail versendet wird. Möchte verschiedene Felder überprüfen.
Nun das Problem:

Möchte eine Eingabe einer Telefonnummer überprüfen.
Möchte nur Zahlen , Schrägstrich und Leerzeichen zulassen.
Habe es mit Zahlen und Schrägstrich hinbekommen, aber wie kann ich ein Leerzeichen oder mehrere zwischen den Zahlen zulassen.
Hier meine bisherige Überprüfung

if (!empty($telefon)) {
  if (!ereg("[1]+(/[0-9- -]+)$",$telefon)){
     $fehlen = $fehlen."<li>Bitte geben Sie einegültige              Telefonnummer ein";}

}

Der Benutzer könnte ja statt 1234/123456 auch 1234/12 34 56 eingeben.
Möchte also dieses Leerzeichen zulassen.

Danke im vorraus für die Hilfe!

Gruss graho


  1. 0-9- - ↩︎

  1. Kannst ja zuerst alle LEerzeichen entfernen (mit RegExp). Danach kannst du die Tel Nummer dann auch so formatieren wie du möchtest!

    Hoffe es hat dir geholfen!

    mfg Mätel

  2. Hallo,

    Möchte eine Eingabe einer Telefonnummer überprüfen.
    Möchte nur Zahlen , Schrägstrich und Leerzeichen zulassen.

    Eine Regexp dieser Art wird wahrscheinlich nix werden. Wie du selbst schon festgestellt hast, Leerzeichen könnten öfter eingegeben sein.

    Überprüfe doch einfach die Telefonnummer darauf, ob etwas vorkommt, was keine Zahl, kein Leerzeichen, kein Schrägstrich, kein Plus und keine Klammer ist.

    Sehr richtig, + und () solltest du auch erlauben. Man kann seine Telefonnummer ja auch so angeben:

    +49 (0) 7654 1234

    oder:

    (0 76 54) 12 34

    Das erstere ist ziemlich international, das letztere ist glaube ich der Standard bei geschäftlicher Korrospondenz. (Ist schon lange her, dass ich mal was von der DIN so und so gehört habe.)

    Viele Grüße,

    Stefan

  3. Danke !

    Komme bestimmt einfacher bestimmte Zeichen zuzulassen ! Wie ist der Reguläre Ausdruck füe ein Leerzeichen in php?

  4. Um mal den Vorschlag von Stefan aufzunehmen:

    if (preg_match("/[^\d -]/", $telefonNummer)) {
       echo "Die angegebene Telfonnummer enthält ungültige Zeichen!";
    }

    kann den ausdruck im moment leider nicht testen. probier's einfach mal.

    andreas