Open In App

JavaScript Program to Check if a String Contains any Special Character

This article will demonstrate the methods to write a JavaScript Program to check if a String contains any special characters. Any string that contains any character other than alphanumeric and space includes the special character. These special characters are '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '+', '=', '{', '}', '[', ']', ':', ';', '"', '\'', '<', '>', ',', '.', '?', '/', '|', '\\', etc.

Example:

Input: Geeks$For$Geeks
Output: String contains special characters
Explanation: Input string contain '$'  symbol
Input: Geeks For Geeks
Output: String doesnot contain any special character.

Example of Checking if a String Contains any Special Character

1.Naive Method - Using Loops

In this method, we will iterate the given string and check it for the ASCII values for the alphanumeric characters.

Example: In this example, we will use the for loop and check the ASCII value for every character.

let str = "Geeks$for$Geeks";
console.log("Given String is: " + str);
for (let i = 0; i < str.length; ++i) {
    let ch = str.charCodeAt(i);
    // console.log(ch);
    if (
        !(ch >= 65 && ch <= 90) && // A-Z
        !(ch >= 97 && ch <= 122) && // a-z
        !(ch >= 48 && ch <= 57) // 0-9
    ) {
        return console.log(
            "String contains special characters"
        );
    }
}

console.log(
    "String does not contain any special character."
);

Output
Given String is: Geeks$for$Geeks
String contains special characters

2.Using RegEx for Alphanumeric Characters

In this method, we will create a regex for all the alphanumeric numbers like A-Z,a-z, and 0-9. and test the string with the same.

Example: In this example, we will use regex.test method to test the given string.

const str = "Geeks$for$Geeks";
console.log("Given String is: " + str);
const regex = /[^A-Za-z0-9]/;
if (regex.test(str))
    console.log(
        "String contains special characters"
    );
else
    console.log(
        "String does not contain any special character."
    );

Output
Given String is: Geeks$for$Geeks
String contains special characters

3. Using RegEx for Special Characters

In this method, we will create a regex for all the special characters mention above and test the string with the same..

Example: In this example, we will use regex.test method to test the given string.

const str = "GeeksforGeeks";
console.log("Given String is: " + str);
const regex = /[!@#$%^&*()\-+={}[\]:;"'<>,.?\/|\\]/;
if (regex.test(str))
    console.log("String contains special characters");
else
    console.log(
        "String does not contain any special character."
    );

Output
Given String is: GeeksforGeeks
String does not contain any special character.

4.Using indexOf() method

In this approach we iterates over each character in the input string and For each character in the input string, the we checks if it exists in the specialChars string using indexOf() method, which returns the index of the character in the specialChars string. If the character is not found, indexOf() returns -1.

Example: In this example, we will use indexOf method to check the given string.

function containsSpecialCharacter(str) {
    let specialChars =
        "!@#$%^&*()-_=+[{]};:'\",<.>/?\\|";
    for (var i = 0; i < str.length; i++) {
        if (specialChars.indexOf(str[i]) !== -1) {
            return true;
        }
    }
    return false;
}

let str = "Geeks@forGeeks";
console.log("Given string is : "+ str)
if (containsSpecialCharacter(str)) {
    console.log(
        "String contain a special character."
    );
} else {
    console.log(
        "String does not contain any special character."
    );
}

Output
Given string is : Geeks@forGeeks
String contain a special character.
Article Tags :