Avatar ·

Wie überprüft man, ob ein String in JavaScript eine gültige Zahl ist?

Hallo zusammen! Ich bin neu in JavaScript und schreibe eine kleine Taschenrechner-App. Der Benutzer gibt Werte in Textfelder ein, und ich muss sicherstellen, dass die eingegebenen Daten Zahlen sind, bevor ich mathematische Operationen durchführe. Das Problem ist, dass ich keinen zuverlässigen Weg zur Überprüfung finde. Ich habe `typeof` verwendet – aber es zeigt "string" für alles, was aus dem input kommt. Ich habe `isNaN()` ausprobiert – aber es verhält sich seltsam: `isNaN("123")` gibt `false` zurück (gut), aber `isNaN("12.3abc")` gibt auch `false` zurück, obwohl das eindeutig keine Zahl ist! Und `isNaN("")` gibt `false` zurück, ein leerer String wird als Zahl betrachtet – das ist völlig unverständlich. Ich habe auch `Number(" ")` ausprobiert – es gibt 0 zurück, was ebenfalls verwirrend ist. Außerdem habe ich von `parseFloat` und `parseInt` gehört, aber sie schneiden den String ab und geben eine Zahl zurück, wenn der String mit Ziffern beginnt, z.B. gibt `parseFloat("123abc")` 123 zurück – das ist auch nicht das, was ich brauche. Ich brauche eine strikte Übereinstimmung: Der gesamte String muss eine Zahl sein, ohne zusätzliche Zeichen. Hier ist