Hallo Leute,
ich möchte ganz gerne die eingabe einer reellen Zahl prüfen, ob diese so eingegeben wurde, wie ich es gerne hätte.
Da ich immer so meine Probleme mit regulären Ausdrücken habe habe ich bisher zwei Konstrukte, von denen einer mich nicht wirklich stolz macht, aber vielleicht kann das einer von euch ganz schnell richtig stellen.
Zum einen muss ich in einem Feld eine ganze Zahl prüfen, mache ich mit:
if (!eregi("^[0-9]{3}", $_POST["height"])) {
...eingabefehler...
}
Das funktioniert eigentlich prima (oder falls da noch einer was verbessern will...)
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"]))
Hier wird natürlich noch nicht die Eingabe des "," erlaubt und auch die Vor-/Nachkommastellen nicht richtig gesetzt, vielleicht kann das einer schnelle und besser als ich, ich wäre euch mal wieder dankbar.
Gruß
Doc