Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie überprüfe ich, ob eine Zeichenfolge in JavaScript nur Zahlen enthält?

王林
Freigeben: 2023-08-27 12:49:08
nach vorne
812 Leute haben es durchsucht

JavaScript 中如何检查字符串是否只包含数字?

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.

Verwenden Sie die for-Schleife und die CharCodeAt()-Methode

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.

Grammatik

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;
}
Nach dem Login kopieren

In der obigen Syntax führen wir die charCodeAt()-Methode für jedes Zeichenfolgenzeichen aus.

Schritte

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.

Beispiel

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>
Nach dem Login kopieren

Verwenden Sie den Number()-Konstruktor

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.

Grammatik

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.
}
Nach dem Login kopieren

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.

Beispiel

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>
Nach dem Login kopieren

Verwenden Sie reguläre Ausdrücke

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.

Grammatik

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
}
Nach dem Login kopieren

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.

Regulärer Ausdruck erklärt

  • 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.

Beispiel

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>
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage