Lors du développement, nous devrons peut-être trouver des chaînes qui contiennent uniquement des chiffres et aucun autre caractère. Le moyen le plus simple de vérifier consiste à analyser le nombre dans la chaîne et à comparer sa longueur à la longueur de la chaîne d'origine. Si les deux sont identiques, cela signifie que la chaîne ne contient que des nombres. Les utilisateurs peuvent utiliser la méthode parseInt() pour analyser les nombres dans une chaîne.
Mais, dans ce tutoriel, nous apprendrons d'autres façons de vérifier si une chaîne ne contient que des nombres en JavaScript.
Nous pouvons utiliser la boucle for pour parcourir la chaîne. Nous pouvons obtenir chaque caractère de la chaîne en utilisant la valeur d'index et la méthode charCodeAt() pour obtenir sa valeur ASCII. On peut alors comparer la valeur ASCII du caractère avec la valeur ASCII du nombre pour savoir si le caractère est un nombre ou un caractère non numérique.
Les utilisateurs peuvent suivre la syntaxe suivante pour vérifier si une chaîne ne contient que des chiffres.
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; }
Dans la syntaxe ci-dessus, nous exécutons la méthode charCodeAt() pour chaque caractère de chaîne.
Étape 1 - Utilisez une boucle for pour parcourir la chaîne.
Étape 2 - Utilisez la méthode charCodeAt() pour obtenir la valeur ASCII du caractère situé au i-ème index de la chaîne
Étape 3 - Vérifiez si la valeur ASCII du caractère à l'index ith est comprise entre 48 et 57. Sinon, cela signifie qu'il s'agit d'un caractère non numérique et renvoie false.
Étape 4 - Si l'itération de la boucle for se termine et que la fonction ne trouve aucun caractère non numérique, elle renvoie vrai, indiquant que la chaîne ne contient que des chiffres.
Dans l'exemple ci-dessous, nous prenons deux chaînes contenant uniquement des chiffres et des caractères mixtes. L'utilisateur peut observer la sortie, qui imprime un message sur la page Web basé sur une chaîne contenant uniquement des nombres ou des non-chiffres.
<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>
En JavaScript, Number est un objet et nous pouvons utiliser son constructeur pour créer son instance. Nous pouvons passer une valeur en argument au constructeur Number() pour initialiser une variable avec une valeur numérique.
Nous pouvons également transmettre une chaîne numérique en tant que paramètre au constructeur Number(). Il analyse les nombres et renvoie des valeurs numériques. Si nous transmettons une chaîne contenant des caractères non numériques, elle renverra la valeur NaN.
Les utilisateurs peuvent utiliser la syntaxe suivante pour utiliser Numberconstructor() pour vérifier si une chaîne ne contient que des nombres.
let num = Number(string1); if (num != NaN) { // contains non-digit numbers }else{ // contains only digits. }
Dans la syntaxe ci-dessus, string1 est une chaîne contenant des caractères numériques et non numériques. Si le constructeur Number() renvoie NaN, la chaîne contient des caractères non numériques ; sinon, elle renvoie une valeur numérique.
Dans l'exemple ci-dessous, string1 ne contient que des chiffres. Nous le transmettons comme argument au constructeur Number() et l'utilisateur peut voir qu'il renvoie la valeur numérique réelle dans la sortie au lieu de NaN.
<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>
Dans cette section, nous allons créer une expression régulière qui peut être utilisée pour faire correspondre des caractères non numériques dans une chaîne. Si nous trouvons une seule correspondance d'un caractère non numérique, nous pouvons dire que la chaîne contient également des caractères non numériques.
Les utilisateurs peuvent utiliser des expressions régulières selon la syntaxe ci-dessous pour vérifier si une chaîne contient uniquement des nombres.
let regex = /\D/; let bool = regex.test(str); if (bool) { // contains non-digits } else { // contains only digits }
La méthode test() est utilisée dans la syntaxe ci-dessus pour faire correspondre le modèle d'expression régulière avec la chaîne.
La méthode test() retournera vrai si la chaîne contient des caractères non numériques.
D - Utilisé pour correspondre à n'importe quel caractère non numérique.
Nous pouvons également utiliser le drapeau "g" avec une expression régulière pour faire correspondre toutes les occurrences de caractères non numériques, mais il nous suffit de savoir que la chaîne ne contient qu'un seul caractère non numérique.
Dans cet exemple, la fonction isContainsDigits() a différents paramètres de chaîne lorsque l'utilisateur clique sur le bouton. De plus, les utilisateurs peuvent observer le résultat de la méthode test() avec différentes chaînes.
<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>
Nous avons appris trois façons différentes de vérifier si une chaîne ne contient que des chiffres. Les utilisateurs peuvent utiliser le constructeur Number() pour effectuer des tâches via un code linéaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!