Hi!
Zum einen muss ich in einem Feld eine ganze Zahl prüfen, mache ich mit:
if (!eregi("^[0-9]{3}", $_POST["height"])) {
Das funktioniert eigentlich prima (oder falls da noch einer was verbessern will...)
Die ereg-Funktionen sind missbilligt. Verwende die preg-Version, was aber bedeutet, dass die Syntax der regulären Ausdrücke teilweise eine andere ist, jedoch nicht in deinem einfachen Fall.
Meine andere Abfrage für eine reelle Zahl funzt nicht wirklich, es darf also nur "123", "123.45" oder "123,45" eingegeben werden. Wie kann ich noch die Zahlenmengen um das Komma begrenzen, also vielleicht maximal 3 Stellen vor und maximal 2 Stellen nach dem Komma? Versucht habe ich folgendes zunächst:
if (!eregi("^[0-9]+\.[0-9]{0,2}", $_POST["weight"]))
Beim obigen Fall wusstest du, wie man eine Anzahl begrenzt. In diesem Fall weißt du sogar, wie man dafür einen unteren und oberen Wert festlegt. Was ist das Problem dies an der Vorkommastelle auch anzugeben? Du weißt auch, wie man eine Klasse von Zeichen anspricht. Mit den Ziffern klappt das gut, was ist dein Problem, das mit Punkt und Komma ebenso zu machen? Wenn du dann noch die Dezimalzeichen und die Nachkommazahlen gruppierst und auf 0 oder 1 Vorkommen gegrenzt, solltest du dein Ziel erreicht haben.
Lo!