Heim > Web-Frontend > js-Tutorial > Gibt es eine Alternative zu isNumeric() von jQuery in reinem JavaScript?

Gibt es eine Alternative zu isNumeric() von jQuery in reinem JavaScript?

Patricia Arquette
Freigeben: 2024-10-19 16:57:30
Original
255 Leute haben es durchsucht

Is There an Alternative to jQuery's isNumeric() in Pure JavaScript?

Bestimmen numerischer Werte in reinem JavaScript: Eine Alternative zu isNumeric() von jQuery

Die jQuery-Bibliothek bietet eine praktische Funktion, isNumeric(), um zu überprüfen, ob ein Wert repräsentiert eine Zahl. In Situationen, in denen jQuery jedoch nicht verfügbar ist, ist es wichtig zu wissen, ob es Alternativen in reinem JavaScript gibt.

Die Herausforderung beim Testen auf Zahlen

In JavaScript ist die Bestimmung des Typs eines Werts nicht möglich immer unkompliziert. Wenn man den Operator „typeof“ verwendet, könnte man intuitiv annehmen, dass die Überprüfung, ob ein Wert eine Zahl ist, einfach dadurch erreicht werden kann, dass man prüft, ob sein Typ „Zahl“ ist. Dieser Ansatz weist jedoch Einschränkungen auf.

Erstellen Sie Ihre eigene isNumeric()-Funktion

Da JavaScript keine integrierte isNumeric()-Funktion hat, ist eine benutzerdefinierte Implementierung erforderlich.

Implementierung:

<code class="javascript">function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}</code>
Nach dem Login kopieren

Erklärung:

  • parseFloat(): Versucht, die Eingabe in zu konvertieren eine Gleitkommazahl. Bei Erfolg wird ein Zahlenwert zurückgegeben, andernfalls wird NaN (Not a Number) zurückgegeben.
  • isNaN(): Überprüft, ob das Ergebnis von parseFloat() NaN ist, was darauf hinweist, dass die Eingabe ist nicht numerisch.
  • isFinite(): Überprüft, ob die Eingabe eine endliche Zahl ist (nicht Unendlich oder -Unendlich).

Verwendung:

<code class="javascript">const value = 10;
console.log(isNumeric(value)); // true</code>
Nach dem Login kopieren

Wichtiger Hinweis

Es ist hervorzuheben, dass parseInt() nicht für die numerische Validierung verwendet werden sollte. parseInt() wandelt Zeichenfolgen basierend auf ihrer Basis (normalerweise 10) in Ganzzahlen um, was bei nicht ganzzahligen Eingaben zu falschen Ergebnissen führen kann.

Das obige ist der detaillierte Inhalt vonGibt es eine Alternative zu isNumeric() von jQuery in reinem JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage