Tobias Kloth: Eingabe prüfen

Beitrag lesen

Hallo Mike,

if(ereg("[a-z_A-Z]",$from_phone[...]<-- Hier wird geprüft ob auch Zahlen oder ein Minus eingegeben wurde

nein, du prüfst hier ob in $from_phone mindestends ein Buchstabe oder ein Unterstrich enthalten sind. Außerdem verwendest du die langsameren ereg*-Funktionen - nimm besser die preg_*-Funktionen. Um eine Meldung auszugeben, wenn in einer Variablen etwas anderes als Zahlen und Minuszeichen enthalten sind, ist sowas imho sinnvoller:
  if(!preg_match('~[1]+$~',$var)){
    echo 'Die Telefonnummer darf nur aus Zahlen und dem Minuszeichen bestehen';
  }
ich würde aber evtl. noch Schrägstriche, das Plus und Leerzeichen zu den erlaubten Zeichen hinzufügen.

kurze Erläuterung zum regulären Ausdruck:
  ~      Begrenzer des regulären Ausdrucks
  ^      "verankert" den Ausdruck am Stringanfang
  [0-9-] Eine Zeichenklasse mit Zahlen und dem Minus
  +      mindestens ein Zeichen aus der Zeichenklasse vorher
  $      "verankert" den Ausdruck am Stringende
  ~      Begrenzer

Grüße aus Nürnberg
Tobias


  1. 0-9- ↩︎