Wie man in JavaScript richtig prüft, ob ein String eine Zahl ist? Die Funktion IsNumeric()
Hallo zusammen! Ich schreibe in JavaScript und bin auf ein typisches Problem gestoßen – ich muss prüfen, ob ein vom Benutzer eingegebener Wert eine Zahl ist. Zum Beispiel gibt es ein Formular, in dem der Benutzer den Preis eines Produkts eingibt, und ich möchte sicherstellen, dass es sich um eine Zahl und nicht um Text handelt.
Ich habe versucht, isNaN() zu verwenden, aber es verhält sich seltsam. Zum Beispiel:
console.log(isNaN('123')); // false – scheint eine Zahl
console.log(isNaN('12.3')); // false – auch eine Zahl
console.log(isNaN('')); // false – leerer String wird als Zahl betrachtet?!
console.log(isNaN(' ')); // false – Leerzeichen auch eine Zahl?
console.log(isNaN('abc')); // true – das ist verständlich
console.log(isNaN(true)); // false – true=1, das ist eine Zahl?!
console.log(isNaN(null)); // false – null=0, auch eine Zahl?!
Ich brauche, dass die Funktion IsNumeric() nur für normale Dezimalzahlen (ganze Zahlen und Dezimalzahlen mit Punkt) true zurückgibt, und für leere Strings, Leerzeichen, boolesche Werte, null, undefined und anderen Müll false.
Außerdem möchte ich, dass negative