Bei der Entwicklung müssen wir möglicherweise Zeichenfolgen finden, die nur Zahlen und keine anderen Zeichen enthalten. Die einfachste Möglichkeit zur Überprüfung besteht darin, die Zahl in der Zeichenfolge zu analysieren und ihre Länge mit der Länge der ursprünglichen Zeichenfolge zu vergleichen. Wenn beide gleich sind, bedeutet dies, dass die Zeichenfolge nur Zahlen enthält. Benutzer können die Methode parseInt() verwenden, um Zahlen in einer Zeichenfolge zu analysieren.
Aber in diesem Tutorial lernen wir andere Möglichkeiten kennen, um zu überprüfen, ob eine Zeichenfolge in JavaScript nur Zahlen enthält.
Wir können eine for-Schleife verwenden, um über die Zeichenfolge zu iterieren. Wir können jedes Zeichen in der Zeichenfolge mithilfe des Indexwerts und der Methode charCodeAt() abrufen, um seinen ASCII-Wert zu erhalten. Anschließend können wir den ASCII-Wert des Zeichens mit dem ASCII-Wert der Zahl vergleichen, um herauszufinden, ob es sich bei dem Zeichen um eine Zahl oder ein nicht numerisches Zeichen handelt.
Benutzer können der folgenden Syntax folgen, um zu überprüfen, ob eine Zeichenfolge nur Zahlen enthält.
function isOnlyDigits(string) { for (let i = 0; i < string.length; i++) { var ascii = string.charCodeAt(i); if (ascii < 48 || ascii > 57) { return false; } } return true; }
In der obigen Syntax führen wir die charCodeAt()-Methode für jedes Zeichenfolgenzeichen aus.
Schritt 1 – Verwenden Sie eine for-Schleife, um über die Zeichenfolge zu iterieren.
Schritt 2 – Verwenden Sie die Methode charCodeAt(), um den ASCII-Wert des Zeichens abzurufen, das sich am i-ten Index in der Zeichenfolge befindet
Schritt 3 – Überprüfen Sie, ob der ASCII-Wert des Zeichens am Index ith zwischen 48 und 57 liegt. Wenn nicht, bedeutet dies, dass es sich um ein nicht numerisches Zeichen handelt und gibt „false“ zurück.
Schritt 4 – Wenn die Iteration der for-Schleife abgeschlossen ist und die Funktion keine nicht numerischen Zeichen findet, gibt sie true zurück, was bedeutet, dass die Zeichenfolge nur Ziffern enthält.
Im folgenden Beispiel nehmen wir zwei Zeichenfolgen, die nur Zahlen und gemischte Zeichen enthalten. Der Benutzer kann die Ausgabe beobachten, die eine Nachricht auf der Webseite druckt, die auf einer Zeichenfolge basiert, die nur Zahlen oder Nichtzahlen enthält.
<html> <body> <h3>Using the <i> for-loop and charCodeAt() </i> method to check if string contains only digits</h2> <div id = "output"> </div> <script> let output = document.getElementById("output"); function isOnlyDigits(string) { for (let i = 0; i < string.length; i++) { var ascii = string.charCodeAt(i); if (ascii < 48 || ascii > 57) { output.innerHTML += "The " + string + " contains non-digits characters also. <br/>"; return false; } } output.innerHTML += "The " + string + " contains only digits characters also. <br/>"; return true; } isOnlyDigits("122135567343"); isOnlyDigits("df32d23"); </script> </body> </html>
In JavaScript ist Number ein Objekt und wir können seinen Konstruktor verwenden, um seine Instanz zu erstellen. Wir können einen Wert als Argument an den Konstruktor Number() übergeben, um eine Variable mit einem numerischen Wert zu initialisieren.
Wir können auch eine Zahlenzeichenfolge als Parameter an den Konstruktor Number() übergeben. Es analysiert Zahlen und gibt numerische Werte zurück. Wenn wir eine Zeichenfolge übergeben, die nicht numerische Zeichen enthält, wird ein NaN-Wert zurückgegeben.
Benutzer können die folgende Syntax verwenden, um mit Numberconstructor() zu prüfen, ob eine Zeichenfolge nur Zahlen enthält.
let num = Number(string1); if (num != NaN) { // contains non-digit numbers }else{ // contains only digits. }
In der obigen Syntax ist string1 eine Zeichenfolge, die numerische und nicht numerische Zeichen enthält. Wenn der Number()-Konstruktor NaN zurückgibt, enthält die Zeichenfolge nicht numerische Zeichen. Andernfalls wird ein numerischer Wert zurückgegeben.
Im Beispiel unten enthält string1 nur Zahlen. Wir übergeben es als Argument an den Number()-Konstruktor und der Benutzer kann sehen, dass es in der Ausgabe den tatsächlichen numerischen Wert anstelle von NaN zurückgibt.
<html> <body> <h3>Using the <i> Number() constructor </i> method to check if string contains only digits</h2> <div id="output"></div> <script> let output = document.getElementById("output"); let string1 = "3433454646"; let num = Number(string1); if (num != NaN) { output.innerHTML += "The " + string1 + " Contains only digits! <br/>"; } else { output.innerHTML += "The " + string1 + " Contains non-digits characters! <br/>"; } </script> </body> </html>
In diesem Abschnitt erstellen wir einen regulären Ausdruck, der verwendet werden kann, um nicht numerische Zeichen in eine Zeichenfolge einzufügen. Wenn wir eine einzelne Übereinstimmung mit einem nicht numerischen Zeichen finden, können wir sagen, dass die Zeichenfolge auch nicht numerische Zeichen enthält.
Benutzer können reguläre Ausdrücke gemäß der folgenden Syntax verwenden, um zu überprüfen, ob eine Zeichenfolge nur Zahlen enthält.
let regex = /\D/; let bool = regex.test(str); if (bool) { // contains non-digits } else { // contains only digits }
Die Methode test() wird in der obigen Syntax verwendet, um das reguläre Ausdrucksmuster mit der Zeichenfolge abzugleichen.
Die Methode test() gibt true zurück, wenn die Zeichenfolge nicht numerische Zeichen enthält.
D – Wird verwendet, um ein beliebiges einzelnes nicht numerisches Zeichen zu finden.
Wir können das Flag „g“ auch mit einem regulären Ausdruck verwenden, um alle Vorkommen nicht numerischer Zeichen abzugleichen. Es reicht uns jedoch zu wissen, dass die Zeichenfolge nur ein nicht numerisches Zeichen enthält.
In diesem Beispiel verfügt die Funktion isContainsDigits() über unterschiedliche Zeichenfolgenparameter, wenn der Benutzer auf die Schaltfläche klickt. Darüber hinaus können Benutzer die Ausgabe der test()-Methode mit verschiedenen Zeichenfolgen beobachten.
<html> <body> <h3>Using the <i> regular expression </i> method to check if string contains only digits </h3> <div id = "output"> </div> <button onclick="isContainsDigits('8954656');isContainsDigits('dfjsdh4354354')"> Click here </button> <script> let output = document.getElementById("output"); let regex = /\D/; function isContainsDigits(str) { let bool = regex.test(str); if (bool) { output.innerHTML += "The " + str + " Contains non-digits! <br/>"; } else { output.innerHTML += "The " + str + " Contains only digits characters! <br/>"; } } </script> </body> </html>
Wir haben drei verschiedene Möglichkeiten kennengelernt, um zu überprüfen, ob eine Zeichenfolge nur Zahlen enthält. Benutzer können den Konstruktor Number() verwenden, um Aufgaben über einen linearen Code auszuführen.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob eine Zeichenfolge in JavaScript nur Zahlen enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!