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 passwordpublic 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 notdef 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 codepassword1 = "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 passwordusing 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 usageconst 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!`);} |
GeeksForGeeks - Invalid Password! Geek$ForGeeks7 - Valid Password
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
