Maison  >  Article  >  interface Web  >  Comment vérifier si l'entrée est alphanumérique ou non alphanumérique à l'aide de JavaScript ?

Comment vérifier si l'entrée est alphanumérique ou non alphanumérique à l'aide de JavaScript ?

王林
王林avant
2023-08-24 10:33:021144parcourir

如何使用 JavaScript 验证输入是字母数字还是非字母数字?

Notre tâche est de valider la chaîne d'entrée et de vérifier si elle est alphanumérique à l'aide de JavaScript. Les chaînes alphanumériques contiennent uniquement des caractères numériques et alphabétiques, y compris des caractères majuscules ou minuscules, et même aucun caractère spécial ni espace.

Ci-dessous, nous verrons deux méthodes de validation des chaînes d'entrée.

Utilisez la méthode charCodeAt()

Nous pouvons utiliser la méthode charCodeAT() pour obtenir la valeur ASCII de n'importe quel caractère. Ici, nous allons parcourir chaque caractère de la chaîne et vérifier la valeur ASCII de chaque caractère. Les codes ASCII entre 48 et 57 représentent des caractères numériques, 97 et 122 représentent des caractères alphabétiques minuscules et 65 et 90 représentent des caractères alphabétiques majuscules.

Donc, si nous trouvons un caractère dont la valeur ASCII n'est pas comprise dans la plage ASCII indiquée ci-dessus, nous pouvons dire que la chaîne n'est pas alphanumérique.

Grammaire

Les utilisateurs peuvent utiliser la méthode charCodeAT() selon la syntaxe suivante pour vérifier si la chaîne d'entrée est alphanumérique.

let charCode = char.charCodeAt(0);
if (!(charCode > 47 && charCode < 58) &&
   !(charCode > 96 && charCode < 123) &&
   !(charCode > 64 && charCode < 91)
) {
   // string is not alphanumeric
   return;
}

Dans la syntaxe ci-dessus, char est un seul caractère. Nous utilisons la méthode charCodeAT() pour obtenir la valeur ASCII d'un seul caractère. Après cela, nous utilisons une instruction if-else pour vérifier si le code ASCII du caractère se situe entre les valeurs ASCII des caractères numériques et alphabétiques.

Exemple 1

Dans l'exemple ci-dessous, nous avons créé deux chaînes d'entrée contenant différents caractères. De plus, nous définissons la fonction validateString(). Dans la fonction validateString(), nous utilisons une boucle for-of pour parcourir chaque caractère de chaîne. De plus, nous utilisons la méthode charCodeAt() pour obtenir la valeur ASCII d'un caractère en passant 0 comme argument.

On vérifie ensuite s'il existe un caractère dont le code ASCII n'est pas compris dans la plage ASCII des caractères numériques et alphabétiques ; on peut dire que la chaîne n'est pas alphanumérique ;

<html>
<body>
   <h3>Using the <i> for loop and charCodeAT() method </i> to check if input string is alphanumeric or not</h3>
   <div id = "output"> </div>
   <script>
      var output = document.getElementById('output');
      let str1 = "aredsUADFSKH121342kjbrewdfv";
      let str2 = "dfdrg rflrtke 435 3df;fd'gfdg";
      function validateString(string) {
         for (let char of string) {
            let charCode = char.charCodeAt(0);
            if (!(charCode > 47 && charCode < 58) &&  !(charCode > 96 && charCode < 123) &&    !(charCode > 64 && charCode < 91)
            ) {
               output.innerHTML += "The string " + string + " is not alphanumeric! </br>";
               return;
            }
         }
         output.innerHTML += "The string " + string + " is an alphanumeric! </br>"; 
      }
      validateString(str1);
      validateString(str2);
   </script>
</body>
</html>

Utilisez des expressions régulières

Nous pouvons créer des expressions régulières en utilisant le constructeur RegExp() avec le nouveau mot-clé. Il s'agit d'un modèle dans lequel nous pouvons faire correspondre une chaîne d'entrée à un modèle d'expression régulière et renvoyer un booléen vrai ou faux sur cette base.

Grammaire

Les utilisateurs peuvent utiliser des expressions régulières pour valider des chaînes alphanumériques en suivant la syntaxe ci-dessous.

let strRegex = new RegExp(/^[a-z0-9]+$/i);
let result = strRegex.test(string); 

Dans la syntaxe ci-dessus, la variable de résultat contient une valeur booléenne selon que la chaîne est alphanumérique ou non.

Expression régulière expliquée

  • ^ - Représente le début de la chaîne.

  • [a-z0-9]+ - représente uniquement les caractères entre a à z ou 0 à 9.

  • $ - Représente la fin de la chaîne.

  • i – Il s'agit de l'indicateur pour les expressions régulières utilisées pour les comparaisons de chaînes insensibles à la casse.

Exemple 2

Dans l'exemple ci-dessous, nous appelons la fonction validateString() en passant diverses chaînes comme paramètres. Dans la fonction, nous créons l'interprétation normale comme ci-dessus. Après cela, nous utilisons la méthode test() en passant l'expression régulière comme référence et en passant la chaîne d'entrée comme paramètre de validation.

Si la méthode test() renvoie true, la chaîne d'entrée est alphanumérique et ne contient que des caractères numériques et alphabétiques ; sinon, la chaîne n'est pas alphanumérique ;

<html>
<body>
   <h3>Using the <i> Regular expression </i> to check if input string is alphanumeric or not</h3>
   <div id = "output"> </div>
   <script>
      var output = document.getElementById('output');
      let str1 = "Welcome to the tutorialsPoint";
      let str2 = "Hello123";
      function validateString(string) {
         
         // Defining the regular expression
         let strRegex = new RegExp(/^[a-z0-9]+$/i);
         
         // match the regex with the string
         let result = strRegex.test(string);
         if (result) {
            output.innerHTML += "The string " + string + " is an alphanumeric! </br>";
         } else {
            output.innerHTML += "The string " + string + " is not alphanumeric! </br>";
         }
      }
      validateString(str1);
      validateString(str2);
   </script>
</body>
</html>

Exemple 3

Dans l'exemple ci-dessous, nous utilisons la méthode Prompt() pour obtenir une chaîne de l'utilisateur. Après cela, nous utilisons une expression régulière pour valider la chaîne, tout comme nous l'avons utilisé dans l'exemple ci-dessus, mais ici nous utilisons une expression régulière différente.

Ici, [^a-zA-Z0-9] représente tout caractère qui n'est pas compris entre a à z, A à Z et 0 à 9. Par conséquent, la méthode test() renvoie true si la chaîne n'est pas alphanumérique et false pour les chaînes alphanumériques.

<html>
<body>
   <h3>Using the <i> Regular expression </i> to check if input string is alphanumeric or not</h3>
   <div id = "output"> </div>
   <button onClick = "getInputAndValidate()"> Validate random string </button>
   <script>
      var output = document.getElementById('output');
      function getInputAndValidate() {
         let string = prompt("Enter a string to validate", "1232dwe");
         let strRegex = new RegExp(/[^a-zA-Z0-9]/);
         
         // match the regex with the string
         let result = strRegex.test(string);
         if (!result) {
            output.innerHTML += "The string " + string + " is an alphanumeric! </br>";
         } else {
            output.innerHTML += "The string " + string + " is not alphanumeric! </br>";
         }
      }
   </script>
</body>
</html>

Nous avons appris à valider les chaînes alphanumériques dans ce tutoriel. Nous utilisons deux expressions régulières différentes pour valider les chaînes alphanumériques. De plus, nous avons appris un moyen simple d'utiliser la boucle for et la méthode charCodeAT(), mais cela ne prend pas beaucoup de temps et n'est pas recommandé.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer