Program to check the validity of password without using regex.

Last Updated : 12 Jul, 2025

Password checker program basically checks if a password is valid or not based on the password policies mention below: 

  • Password should not contain any space. 
  • Password should contain at least one digit(0-9). 
  • Password length should be between 8 to 15 characters. 
  • Password should contain at least one lowercase letter(a-z). 
  • Password should contain at least one uppercase letter(A-Z). 
  • Password should contain at least one special character ( @, #, %, &, !, $, etc...).

Example: 

Input: GeeksForGeeks 
Output: Invalid Password!
This input contains lowercase 
as well as uppercase letters 
but does not contain digits 
and special characters.

Input: Geek$ForGeeks7
Output: Valid Password
This input satisfies all password
policies mentioned above.

Approach:
In this program, 

  • we are using String contains () method to check the passwords. This method accepts a CharSequence as an argument and returns true if the argument is present in a string otherwise returns false. 
  • Firstly the length of the password has to be checked then whether it contains uppercase, lowercase, digits and special characters. 
  • If all of them are present then the method isValid(String password) returns true.

Below is the implementation of the above approach: 

C++
// C++ code to validate a password 
#include<bits/stdc++.h>
using namespace std;

// A utility function to check 
// whether a password is valid or not 
bool isValid(string password) 
{ 

    // For checking if password length 
    // is between 8 and 15 
    if (!((password.length() >= 8) && 
          (password.length() <= 15)))
        return false; 

    // To check space 
    if (password.find(" ") !=
        std::string::npos)
        return false; 

    if (true)
    { 
        int count = 0; 

        // Check digits from 0 to 9 
        for(int i = 0; i <= 9; i++)
        { 
            
            // To convert int to string 
            string str1 = to_string(i); 

            if (password.find(str1) != 
                std::string::npos) 
                count = 1; 
        } 
        if (count == 0) 
            return false; 
    } 

    // For special characters 
    if (!((password.find("@") != std::string::npos) ||
          (password.find("#") != std::string::npos) ||
          (password.find("!") != std::string::npos) ||
          (password.find("~") != std::string::npos) ||
          (password.find("$") != std::string::npos) ||
          (password.find("%") != std::string::npos) ||
          (password.find("^") != std::string::npos) ||
          (password.find("&") != std::string::npos) ||
          (password.find("*") != std::string::npos) ||
          (password.find("(") != std::string::npos) ||
          (password.find(")") != std::string::npos) ||
          (password.find("-") != std::string::npos) ||
            (password.find("+") != std::string::npos) ||
          (password.find("/") != std::string::npos) ||
          (password.find(":") != std::string::npos) ||
          (password.find(".") != std::string::npos) ||
          (password.find(",") != std::string::npos) ||
          (password.find("<") != std::string::npos) ||
          (password.find(">") != std::string::npos) ||
          (password.find("?") != std::string::npos) ||
          (password.find("|") != std::string::npos)))
        return false;
    
    if (true)
    { 
        int count = 0; 

        // Checking capital letters 
        for(int i = 65; i <= 90; i++) 
        { 
            
            // Type casting 
            char c = (char)i;
            string str1(1, c);
            
            if (password.find(str1) !=
                std::string::npos) 
                count = 1; 
        } 
        if (count == 0) 
            return false; 
    } 

    if (true)
    { 
        int count = 0; 

        // Checking small letters 
        for(int i = 97; i <= 122; i++)
        { 
            
            // Type casting 
            char c = (char)i; 
            string str1(1, c); 

            if (password.find(str1) != 
                std::string::npos)
                count = 1;
        } 
        if (count == 0) 
            return false;
    } 

    // If all conditions fails 
    return true; 
} 

// Driver code 
int main() 
{ 
    string password1 = "GeeksForGeeks"; 
    
    if (isValid(password1)) 
        cout << "Valid Password" << endl; 
    else
        cout << "Invalid Password" << endl;

    string password2 = "Geek$ForGeeks7";
    
    if (isValid(password2)) 
        cout << "Valid Password" << endl; 
    else
        cout << "Invalid Password" << endl;
} 

// This code is contributed by Yash_R
Java
// Java code to validate a password

public class PasswordValidator {

    // A utility function to check
    // whether a password is valid or not
    public static boolean isValid(String password)
    {

        // for checking if password length
        // is between 8 and 15
        if (!((password.length() >= 8)
              && (password.length() <= 15))) {
            return false;
        }

        // to check space
        if (password.contains(" ")) {
            return false;
        }
        if (true) {
            int count = 0;

            // check digits from 0 to 9
            for (int i = 0; i <= 9; i++) {

                // to convert int to string
                String str1 = Integer.toString(i);

                if (password.contains(str1)) {
                    count = 1;
                }
            }
            if (count == 0) {
                return false;
            }
        }

        // for special characters
        if (!(password.contains("@") || password.contains("#")
              || password.contains("!") || password.contains("~")
              || password.contains("$") || password.contains("%")
              || password.contains("^") || password.contains("&")
              || password.contains("*") || password.contains("(")
              || password.contains(")") || password.contains("-")
              || password.contains("+") || password.contains("/")
              || password.contains(":") || password.contains(".")
              || password.contains(", ") || password.contains("<")
              || password.contains(">") || password.contains("?")
              || password.contains("|"))) {
            return false;
        }

        if (true) {
            int count = 0;

            // checking capital letters
            for (int i = 65; i <= 90; i++) {

                // type casting
                char c = (char)i;

                String str1 = Character.toString(c);
                if (password.contains(str1)) {
                    count = 1;
                }
            }
            if (count == 0) {
                return false;
            }
        }

        if (true) {
            int count = 0;

            // checking small letters
            for (int i = 97; i <= 122; i++) {

                // type casting
                char c = (char)i;
                String str1 = Character.toString(c);

                if (password.contains(str1)) {
                    count = 1;
                }
            }
            if (count == 0) {
                return false;
            }
        }

        // if all conditions fails
        return true;
    }

    // Driver code
    public static void main(String[] args)
    {

        String password1 = "GeeksForGeeks";

        if (isValid(password1)) {
            System.out.println(password1 + " - Valid Password");
        }
        else {
            System.out.println(password1 + " - Invalid Password!");
        }

        String password2 = "Geek$ForGeeks7";
        if (isValid(password2)) {
            System.out.println(password2 + " - Valid Password");
        }
        else {
            System.out.println(password2 + " - Invalid Password!");
        }
    }
}
Python3
# Python3 code to validate a password

# A utility function to check
# whether a password is valid or not
def isValid(password):

    # for checking if password length
    # is between 8 and 15
    if (len(password) < 8 or len(password) > 15):
        return False

    # to check space
    if (" " in password):
        return False

    if (True):
        count = 0

        # check digits from 0 to 9
        arr = ['0', '1', '2', '3', 
        '4', '5', '6', '7', '8', '9']

        for i in password:
            if i in arr:
                count = 1
                break

        if count == 0:
            return False

    # for special characters
    if True:
        count = 0

        arr = ['@', '#','!','~','$','%','^',
                '&','*','(',',','-','+','/',
                ':','.',',','<','>','?','|']

        for i in password:
            if i in arr:
                count = 1
                break
        if count == 0:
            return False

    if True:
        count = 0

        # checking capital letters
        for i in range(65, 91):

            if chr(i) in password:
                count = 1

        if (count == 0):
            return False

    if (True):
        count = 0

        # checking small letters
        for i in range(97, 123):

            if chr(i) in password:
                count = 1

        if (count == 0):
            return False

    # if all conditions fails
    return True

# Driver code
password1 = "GeeksForGeeks"

if (isValid([i for i in password1])):
    print("Valid Password")
else:
    print("Invalid Password!!!")

password2 = "Geek$ForGeeks7"
if (isValid([i for i in password2])):
    print("Valid Password")
else:
    print("Invalid Password!!!")

# This code is contributed by mohit kumar 29
C#
// C# code to validate a password
using System;

class PasswordValidator 
{

    // A utility function to check
    // whether a password is valid or not
    public static bool isValid(String password)
    {

        // for checking if password length
        // is between 8 and 15
        if (!((password.Length >= 8)
            && (password.Length <= 15)))
        {
            return false;
        }

        // to check space
        if (password.Contains(" "))
        {
            return false;
        }
        if (true) 
        {
            int count = 0;

            // check digits from 0 to 9
            for (int i = 0; i <= 9; i++)
            {

                // to convert int to string
                String str1 = i.ToString();

                if (password.Contains(str1)) 
                {
                    count = 1;
                }
            }
            if (count == 0)
            {
                return false;
            }
        }

        // for special characters
        if (!(password.Contains("@") || password.Contains("#")
            || password.Contains("!") || password.Contains("~")
            || password.Contains("$") || password.Contains("%")
            || password.Contains("^") || password.Contains("&")
            || password.Contains("*") || password.Contains("(")
            || password.Contains(")") || password.Contains("-")
            || password.Contains("+") || password.Contains("/")
            || password.Contains(":") || password.Contains(".")
            || password.Contains(", ") || password.Contains("<")
            || password.Contains(">") || password.Contains("?")
            || password.Contains("|"))) 
        {
            return false;
        }

        if (true)
        {
            int count = 0;

            // checking capital letters
            for (int i = 65; i <= 90; i++)
            {

                // type casting
                char c = (char)i;

                String str1 = c.ToString();
                if (password.Contains(str1))
                {
                    count = 1;
                }
            }
            if (count == 0)
            {
                return false;
            }
        }

        if (true)
        {
            int count = 0;

            // checking small letters
            for (int i = 97; i <= 122; i++) 
            {

                // type casting
                char c = (char)i;
                String str1 = c.ToString();

                if (password.Contains(str1)) 
                {
                    count = 1;
                }
            }
            if (count == 0)
            {
                return false;
            }
        }

        // if all conditions fails
        return true;
    }

    // Driver code
    public static void Main(String[] args)
    {

        String password1 = "GeeksForGeeks";

        if (isValid(password1))
        {
            Console.WriteLine("Valid Password");
        }
        else 
        {
            Console.WriteLine("Invalid Password!!!");
        }

        String password2 = "Geek$ForGeeks7";
        if (isValid(password2)) 
        {
            Console.WriteLine("Valid Password");
        }
        else 
        {
            Console.WriteLine("Invalid Password!!!");
        }
    }
}

// This code is contributed by Rajput-Ji
JavaScript
function isValidPassword(password) {
  // for checking if password length is between 8 and 15
  if (!(password.length >= 8 && password.length <= 15)) {
    return false;
  }

  // to check space
  if (password.indexOf(" ") !== -1) {
    return false;
  }

  // for digits from 0 to 9
  let count = 0;
  for (let i = 0; i <= 9; i++) {
    if (password.indexOf(i) !== -1) {
      count = 1;
    }
  }
  if (count === 0) {
    return false;
  }

  // for special characters
  if (!/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(password)) {
    return false;
  }

  // for capital letters
  count = 0;
  for (let i = 65; i <= 90; i++) {
    if (password.indexOf(String.fromCharCode(i)) !== -1) {
      count = 1;
    }
  }
  if (count === 0) {
    return false;
  }

  // for small letters
  count = 0;
  for (let i = 97; i <= 122; i++) {
    if (password.indexOf(String.fromCharCode(i)) !== -1) {
      count = 1;
    }
  }
  if (count === 0) {
    return false;
  }

  // if all conditions fail
  return true;
}

// example usage
const password1 = "GeeksForGeeks";
if (isValidPassword(password1)) {
  console.log(`${password1} - Valid Password`);
} else {
  console.log(`${password1} - Invalid Password!`);
}

const password2 = "Geek$ForGeeks7";
if (isValidPassword(password2)) {
  console.log(`${password2} - Valid Password`);
} else {
  console.log(`${password2} - Invalid Password!`);
}

Output
GeeksForGeeks - Invalid Password!
Geek$ForGeeks7 - Valid Password
Comment