Home  >  Article  >  Web Front-end  >  How to verify if input is alphanumeric or non-alphanumeric using JavaScript?

How to verify if input is alphanumeric or non-alphanumeric using JavaScript?

王林
王林forward
2023-08-24 10:33:021141browse

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

Our task is to validate the input string and we need to check if it is alphanumeric using JavaScript. Alphanumeric strings contain only numeric and alphabetic characters, including uppercase or lowercase characters, and not even any special characters or spaces.

Below, we will see two methods of validating input strings.

Use charCodeAt() method

We can use the charCodeAT() method to get the ASCII value of any character. Here, we will iterate through each character of the string and check the ASCII value of each character. ASCII codes between 48 and 57 represent numeric characters, 97 and 122 represent lowercase alphabetic characters, and 65 and 90 represent uppercase alphabetic characters.

So if we find any character whose ASCII value is not between the ASCII range given above, we can say that the string is not alphanumeric.

grammar

Users can use the charCodeAT() method according to the following syntax to check whether the input string is alphanumeric.

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

In the above syntax, char is a single character. We use the charCodeAT() method to get the ASCII value of a single character. After that, we use an if-else statement to check if the ASCII code of the character is between the ASCII values ​​of the numeric and alphabetic characters.

Example 1

In the example below, we create two input strings containing various characters. Additionally, we define the validateString() function. In the validateString() function, we use a for-of loop to iterate over each string character. Additionally, we use the charCodeAt() method to get the ASCII value of a character by passing 0 as argument.

We then check if there is a character whose ASCII code is not between the ASCII range for numeric and alphabetic characters; we can say that the string is not alphanumeric.

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

Use regular expressions

We can create regular expressions using the RegExp() constructor with the new keyword. It is a pattern where we can match an input string against a regular expression pattern and return a true or false boolean based on this.

grammar

Users can use regular expressions to validate alphanumeric strings according to the following syntax.

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

In the above syntax, the result variable contains a boolean value based on whether the string is alphanumeric.

Regular expression explanation

  • ^ - Indicates the beginning of the string.

  • [a-z0-9] - Represents only characters from a to z or 0 to 9.

  • $ - Indicates the end of the string.

  • i – This is the flag for regular expressions used for case-insensitive string comparisons.

Example 2

In the following example, we call the validateString() function by passing various strings as parameters. In the function we create the normal interpretation as above. After that, we use the test() method by passing the regular expression as a reference and passing the input string as the validation parameter.

If the test() method returns true, the input string is alphanumeric and contains only numeric and alphabetic characters; otherwise, the string is not alphanumeric.

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

Example 3

In the following example, we use the Prompt () method to get a string from the user. After that, we use a regular expression to validate the string, just like we used in the above example, but here we use a different regular expression.

Here, [^a-zA-Z0-9] represents any character that is not between a to z, A to Z, and 0 to 9. Therefore, the test() method returns true if the string is not alphanumeric and false for alphanumeric strings.

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

We learned about validating alphanumeric strings in this tutorial. We use two different regular expressions to validate alphanumeric strings. Also, we have learned a simple way using for loop and charCodeAT() method, but it is not time efficient and is not recommended.

The above is the detailed content of How to verify if input is alphanumeric or non-alphanumeric using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete