Dezimalzahlen in JavaScript validieren: IsNumeric()
Problemstellung:
Bestimmen Sie die Effektivste und übersichtlichste Methode zur Validierung von Dezimalzahlen in JavaScript, die eine plattformübergreifende Funktion gewährleistet Kompatibilität.
Testfälle:
- IsNumeric('-1') → true
- IsNumeric('-1.5') → wahr
- IsNumeric('0') → wahr
- IsNumeric('0.42' ) → true
- IsNumeric('.42') → true
- IsNumeric('99.999 ') → false
- IsNumeric('0x89f') → false
- IsNumeric('#abcdef ') → false
- IsNumeric('1.2.3') → false
- IsNumeric(' ') → false
- IsNumeric('blah') → false
Lösung:
Um eine universelle numerische Validierung unabhängig vom Datentyp zu erreichen, ist eine Kombination aus isNaN und isFinite wird empfohlen:
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
Dieser Code wandelt jede Eingabe effektiv in eine Zahl um und prüft auf Gültigkeit und Endlichkeit. Es ist jedoch wichtig zu beachten, dass auch hexadezimale und exponentielle Formate als numerisch berücksichtigt werden.
Zusätzliche Ansätze:
-
isNumeric von jQuery: Vergleicht die ursprüngliche Eingabezeichenfolge mit ihrer Gleitkommadarstellung, um festzustellen, ob sie sich um weniger als unterscheiden 1.
-
Angular 4.3 isNumeric: Subtrahiert den Wert von seiner Gleitkommadarstellung und prüft, ob ein Nicht-NaN-Ergebnis vorliegt.
Überlegungen:
- Nutzen Sie Number.isNaN und Number.isFinite in ES6 für eine verbesserte Handhabung der Typkonvertierung.
- Die bereitgestellte Lösung behandelt alle numerischen Werte als gültig, einschließlich hexadezimaler und exponentieller Formate. Passen Sie die Implementierung basierend auf spezifischen Validierungsanforderungen an.
Das obige ist der detaillierte Inhalt vonWie kann man Dezimalzahlen in JavaScript effektiv validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn