Die Überprüfung von Datentypen in JavaScript ist ein wichtiger Teil der Entwicklung. Eine häufige Aufgabe besteht darin, zu überprüfen, ob ein Wert in einer Zeichenfolge eine Zahl ist oder nicht. Dies ist besonders nützlich, wenn Sie mit Dateneingaben wie Formularen und Benutzeroberflächen arbeiten.
In JavaScript gibt es mehrere Möglichkeiten zu überprüfen, ob eine Zeichenfolge eine Zahl ist. Eine einfache Möglichkeit besteht darin, die integrierte Funktion zu verwenden parseInt(). Mit dieser Funktion können Sie eine Zeichenfolge nach Möglichkeit in eine Zahl konvertieren. Wenn die Zeichenfolge keine Zahl ist, parseInt() gibt einen Wert zurück NaN (Not a Number).
Eine andere Möglichkeit besteht darin, den Operator zu verwenden typeof, die den Werttyp zurückgibt. Wenn typeof gibt den Wert zurück "number" dann bedeutet dies, dass die Zeichenfolge eine Zahl enthält. Der Betreiber ist jedoch typeof liefert nicht immer ein genaues Ergebnis, insbesondere wenn der Wert in String-Anführungszeichen gesetzt wird.
Sie können einen regulären Ausdruck verwenden, um eine Zahl in einer Zeichenfolge genauer zu überprüfen. Mit regulären Ausdrücken können Sie Zeichenfolgen auf bestimmte Zeichenmuster überprüfen. Sie können beispielsweise einen regulären Ausdruck verwenden, um zu überprüfen, ob eine Zeichenfolge nur aus Ziffern und einem Minuszeichen besteht. Wenn der reguläre Ausdruck wahr ist, bedeutet dies, dass die Zeichenfolge eine Zahl ist.
Definieren einer Zahl in einer JavaScript-Zeichenfolge
1. Verwenden der Funktion isNaN()
Mit der Funktion isNaN() können Sie überprüfen, ob der Wert der Zeichenfolge NaN (keine Zahl) ist.
let myString = "123";let myNumber = Number(myString);if (isNaN(myNumber))else
2. Verwenden von regulären Ausdrücken
Reguläre Ausdrücke bieten einen flexibleren Ansatz zum Überprüfen numerischer Werte in einer Zeichenfolge.
let myString = "-123.45";if (/^[+-]?\d+(\.\d+)?$/.test(myString))else
Hinweis: Regex /^[+-]?\d+(\.\d+)?$/ prüft, ob der Wert der Zeichenfolge mit dem folgenden Muster übereinstimmt:
- ^[+-]? - beginnt mit einem "+" oder "-" oder hat kein Vorzeichen
- \d+ - enthält eine oder mehrere Ziffern
- (\.\d+)? - kann einen Dezimalpunkt enthalten, gefolgt von einer oder mehreren Ziffern (optional)
- $ - ende der Zeile
Unabhängig von der gewählten Methode ist es wichtig sich daran zu erinnern, dass einige Werte als Zahlen erkannt werden können, auch wenn sie keinen numerischen Standardwert darstellen. Zum Beispiel wird "1e3" als numerischer Wert 1000 erkannt.
Reguläre Ausdrücke, um eine Zahl in einer Zeichenfolge zu überprüfen
Sie können mithilfe von regulären Ausdrücken herausfinden, ob eine Zeichenfolge eine Zahl enthält.
Dazu können Sie das folgende Muster verwenden:
- /^\d+$/ - um Ganzzahlen zu überprüfen
- /^\d*\.?\d+$/ - um nach Dezimalzahlen zu suchen
Beide Muster beginnen und enden mit einem Schrägstrich ( / ). Zwischen den Schrägstrichen befindet sich der reguläre Ausdruck selbst. Das ^-Zeichen steht für den Anfang der Zeile, $ für das Ende der Zeile.
Im Fall von ganzen Zahlen bedeutet das Muster ^\d+$, dass die Zeichenfolge eine oder mehrere Ziffern hintereinander enthalten muss.
Im Fall von Dezimalzahlen ist das Muster ^\d*\.?\d+$ bedeutet, dass eine Zeichenfolge Null oder mehr Ziffern enthalten kann, gefolgt von einem optionalen Dezimalpunkt und einer oder mehreren weiteren Ziffern.
const regex = /^\d+$/;const str1 = "123";const str2 = "abc";console.log(regex.test(str1)); // trueconsole.log(regex.test(str2)); // false
In diesem Beispiel wird überprüft, ob die Zeichenfolge "123" eine Zahl ist. Die Funktion test() gibt true zurück, da die Zeichenfolge dem Muster ^\d+$ entspricht.
Im Fall der Zeichenfolge "abc" gibt die Funktion test() false zurück, da die Zeichenfolge keine Zahlen enthält.
Überprüfen, ob Ziffern in einer Zeile vorhanden sind
Einführung
Bei der Entwicklung von Webanwendungen müssen Sie häufig überprüfen, ob Ziffern in einer Zeichenfolge vorhanden sind. Dies kann beispielsweise bei der Überprüfung von Benutzereingaben oder bei der Verarbeitung von Daten aus einer Datenbank hilfreich sein.
Prüfmethode
In JavaScript gibt es mehrere Möglichkeiten, um zu überprüfen, ob Ziffern in einer Zeichenfolge vorhanden sind.
1. Regulärer Ausdruck
Eine der gebräuchlichsten Methoden, um zu überprüfen, ob Ziffern in einer Zeichenfolge vorhanden sind, ist die Verwendung eines regulären Ausdrucks. Hier ist ein Beispielcode:
const string = "Beispiel für eine Zeichenfolge mit der Ziffer 123";
const hasDigits = regex.test(string);
console.log("Es gibt Ziffern in der Zeile");
console.log("Es gibt keine Ziffern in der Zeichenfolge");
In diesem Beispiel wird der reguläre Ausdruck /\d/ verwendet, der nach der ersten gefundenen Ziffer in der Zeichenfolge sucht. Wenn mindestens eine Ziffer in der Zeichenfolge vorhanden ist, ist die Variable hasDigits true.
Eine andere Möglichkeit, zu überprüfen, ob Ziffern in einer Zeichenfolge vorhanden sind, besteht darin, die match() -Methode zu verwenden. Hier ist ein Beispielcode:
const string = "Beispiel für eine Zeichenfolge mit der Ziffer 123";
const matches = string.match(regex);
console.log("Es gibt Ziffern in der Zeile");
console.log("Es gibt keine Ziffern in der Zeichenfolge");
In diesem Beispiel gibt die match() -Methode ein Array der gefundenen Ziffern zurück. Wenn das Array nicht leer ist, gibt es Ziffern in der Zeichenfolge.
Schlußfolgerung
Es ist eine häufige Aufgabe, bei der Entwicklung von JavaScript-Webanwendungen zu überprüfen, ob Ziffern in einer Zeichenfolge vorhanden sind. In diesem Artikel wurden zwei Möglichkeiten zur Validierung vorgestellt: die Verwendung eines regulären Ausdrucks und die match() -Methode. Die Wahl der Methode hängt von der spezifischen Aufgabe und den Vorlieben des Entwicklers ab. Denken Sie daran, dass Sie bei der Verwendung regulärer Ausdrücke die Besonderheiten der Arbeit mit verschiedenen Sprachen und Codierungen berücksichtigen müssen.
Überprüfen, ob ein Punkt oder ein Komma in einer Zeile vorhanden ist
Sie können die indexOf() -Methode verwenden, um zu überprüfen, ob ein Punkt oder ein Komma in einer Zeichenfolge in JavaScript vorhanden ist. Diese Methode gibt den Index des ersten Vorkommens eines angegebenen Zeichens oder Teilstrings in einer Zeichenfolge zurück. Wenn kein Zeichen oder Teilzeichenfolge gefunden wird, gibt die Methode -1 zurück.
const str = "Это строка с числом 10.5";const dotIndex = str.indexOf(".");const commaIndex = str.indexOf(",");if (dotIndex !== -1) if (commaIndex !== -1)
Sie können auch die Operatoren includes() oder search() verwenden, um zu überprüfen, ob ein Zeichen oder eine Teilzeichenfolge in einer Zeichenfolge vorhanden ist.
Beispielcode mit Anweisungen:
const str = "Это строка с числом 10.5";if (str.includes(".")) if (str.search(",") !== -1)
Beide Beispiele geben das gleiche Ergebnis und geben eine Meldung aus, dass ein Punkt in der Zeile vorhanden ist, da das Symbol "ist." in diesem Beispiel vorhanden. Wenn kein Zeichen oder Teilzeichenfolge vorhanden wäre, würde die entsprechende Meldung nicht angezeigt.
Überprüfen, ob ein ganzzahliger Teil und ein Dezimalteil einer Zahl vorhanden sind
Sie können verschiedene Methoden und Funktionen verwenden, um zu überprüfen, ob eine ganze Zahl und ein Dezimalteil einer Zahl in JavaScript vorhanden sind. Hier sind einige Möglichkeiten, die Sie anwenden können:
- Verwenden Sie die Funktion Number.isInteger() , das true zurückgibt , wenn die Zahl einen ganzzahligen Teil hat, und false , wenn die Zahl keinen ganzzahligen Teil hat.
- Verwenden Sie die Funktion Number.isFinite() , das true zurückgibt , wenn die Zahl eine endliche Zahl ist, und false , wenn die Zahl eine unendliche oder keine Zahl ist.
- Verwenden Sie die Methoden parseInt() und parseFloat(), um einen String zu parsen und die ganzzahligen und Dezimalstellen einer Zahl entsprechend abzurufen.
const number = "3.14";const integerPart = parseInt(number);const decimalPart = parseFloat(number) - integerPart;console.log("Целая часть числа:", integerPart);console.log("Десятичная часть числа:", decimalPart);
In diesem Beispiel enthält die Variable number eine Zeichenfolge, die eine Zahl darstellt. Die Funktion parseInt() konvertiert eine Zeichenfolge in eine Ganzzahl und die Funktion parseFloat() konvertiert eine Zeichenfolge in eine Gleitkommazahl.
Dann subtrahieren wir den ganzen Teil der Zahl von der Gleitkommazahl, um den Dezimalteil zu erhalten. Beide Werte werden in separaten Variablen integerPart und decimalPart gespeichert .
Daher können Sie mithilfe der aufgeführten Methoden und Funktionen überprüfen, ob eine ganze Zahl und ein Dezimalteil einer Zahl in JavaScript vorhanden sind.
Überprüfen, ob ein Zahlenzeichen vorhanden ist
Um zu überprüfen, ob ein Zahlenzeichen in einer JavaScript-Zeichenfolge vorhanden ist, können Sie einen regulären Ausdruck verwenden, der nach einem bestimmten Zeichensatz sucht, der den Zahlenzeichen entspricht (Plus und Minus).
Dazu können Sie die test() -Methode eines regulären Ausdrucks in JavaScript verwenden. Diese Methode gibt true zurück , wenn eine Übereinstimmung gefunden wird, und false , wenn keine Übereinstimmung gefunden wird.
Zum Beispiel können Sie den folgenden Code verwenden:
const str = "-123.45";const pattern = /[+-]/;const hasSign = pattern.test(str);console.log(hasSign); // true
In diesem Beispiel ist die Variable hasSign true , da die ursprüngliche Zeichenfolge ein Vorzeichen mit einer negativen Zahl enthält.
Sie können den regulären Ausdruck ändern /[+-]/ nach Ihren Anforderungen. Wenn Sie nur nach einem Pluszeichen oder nur einem Minuszeichen suchen müssen, können Sie den regulären Ausdruck wie folgt ändern:
- Prüfen, ob ein Pluszeichen vorhanden ist: /\+/
- Prüfen, ob ein Minuszeichen vorhanden ist: /-/
Prüfen, ob eine negative Zahl vorhanden ist
Sie können einen regulären Ausdruck und String-Methoden verwenden, um zu überprüfen, ob eine negative Zahl in einer Zeichenfolge in JavaScript vorhanden ist. Sie können beispielsweise eine Methode verwenden test() kombiniert mit einem regulären Ausdruck, der nach negativen Zahlen in einer Zeichenfolge sucht.
Hier ist ein Beispielcode:
var str = "Diese Zeichenfolge enthält eine negative Zahl -123";
var regex = /-\d+/; // regulärer Ausdruck zum Suchen nach negativen Zahlen
console.log("Es gibt eine negative Zahl in der Zeichenfolge");
console.log("Es gibt keine negative Zahl in der Zeichenfolge");
In diesem Beispiel ist der reguläre Ausdruck /-\d+/ sucht nach negativen Zahlen, die aus einer oder mehreren Ziffern bestehen. Methode test() gibt den Wert zurück true wenn eine negative Zahl in einer Zeichenfolge gefunden wird, und false wenn es keine negative Zahl gibt.
Daher ist die gegebene Regex und Methode test() ermöglicht es Ihnen, in JavaScript zu überprüfen, ob eine negative Zahl in einer Zeichenfolge vorhanden ist.