@@nicki:
nuqneH
ich möchte in einem Formular nur die Zahlen […]
Dann solltest du den Typen des Eingabefeldes entsprechend angeben: @type="number". Geräte mit virtueller Tastatur bieten dann eine numerische an. (Tipphilfen)
[…] von 500 - 9 000 000 erlauben.
Dafür gibt es die Attribute @min und @max: <input type="number" min="500" max="9000000"/>
Und schon schickt ein moderner Broser (Safari gehört nicht dazu) das Formular bei falsch ausgefülltem Feld gar nicht erst ab, sondern gibt eine entsprechende Fehlermeldung aus.
Um eine serverseitige Prüfung kommst du natürlich dennoch nicht drumrum. Aber wie Sipatshi sagte, Zahlen als Zahlen behandeln (nur eben richtig), nicht mit Zeichenkettenoperationen darauf rumhacken.
(Man könnte auch eine Datumseingabe inkl. Schaltjahrregel mit regulärem Ausdruck prüfen, sollte dies aber nicht tun.)
Qapla'
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)