Christoph Zurnieden: Eingabefelder miteinander verrechnen

Beitrag lesen

Hi,

ich habe ein Fomular gebaut in HTML und die Eingabefelder sollen zusammengerechnet werden! Doch leider kommt nix sinnvolles raus! Er hängt die Zahlen nur zusammen! (z.B.  234 + 189 = 234198 ) Das is kacke!

Achm, wer wird denn gleich die Flinte in's Korn werfen? Sowas ist außerdem umweltschädigend wenn es Blei- statt Eisenschrot ist!

An sich eine einfache Geschichte!

... sagte Eva zu Adam.

Was Du im Detail falsch gemacht hast, solltest Du ja mittlerweile in Erfahrung gebracht haben. Es gibt aber noch mehr zu beachten, wenn der User Eingaben tätigt: sie sind alle, ohne Ausnahme auf Gültigkeit zu überprüfen! Bei Javascript hilft das zwar nicht gegen absichtliche Änderungen, aber unabsichtliche gibt es auch schon genug. Wenn Du, wie hier Zahlen erwartest, dann mußt Du nachschauen, ob es reguläre Zahlen sind und möchtest sie auch noch gegebenfalls nachbearbeiten wenn möglich.
Das Format einer handelsüblichen Zahl besteht aus Ziffern, Kommas, Leerzeichen und Punkten -- wir beschränken uns im Zeichensatz einmal auf ASCII.
123456789,99        # u.a. deutsch
123 456 789,999 123 # u.a. deutsch nach DIN (5008) und ISO
123456789.99        # u.a. angelsächsisch
123.456.789,99      # u.a. angelsächsisch
123,456,789.99      # u.a. deutsch
123'456'789,99      # u.a. schweizerisch
Ableitbare Regel: eine Zahl besteht aus Ziffern in beliebiger Menge und kann Tausendertrennzeichen beinhalten. Die T.-Trennzeichen sind vom Komma verschieden und das Komma ist nur einmal vorhanden.

Na denn: viel Vergnügen mit dem ausbaldowern des Regex'!

so short

Christoph Zurnieden

PS:
Die forumsübliche Waffe für Duelle ist das Florett, mitunter auch der schwere Degen -- ja, manch' ein Hauptspeicher wurde auch schon mit dem großem zweihändigem Doppelkopf umprogrammiert! -- aber mit einer dicken und vielleicht sogar noch schmutzigen Keule? Nein, wie ordinär!
CZ