Python program to check the validity of a Password

23 Jun, 2022
In this program, we will be taking a password as a combination of alphanumeric characters along with special characters, and checking whether the password is valid or not with the help of a few conditions.
Primary conditions for password validation:
Minimum 8 characters.The alphabet must be between [a-z]At least one alphabet should be of Upper Case [A-Z]At least 1 number or digit between [0-9].At least 1 character from [ _ or @ or $ ].
Minimum 8 characters.
The alphabet must be between [a-z]
At least one alphabet should be of Upper Case [A-Z]
At least 1 number or digit between [0-9].
At least 1 character from [ _ or @ or $ ].
Examples:
Input : R@m@_f0rtu9e$
Output : Valid Password

Input : Rama_fortune$
Output : Invalid Password
Explanation: Number is missing

Input : Rama#fortu9e 
Output : Invalid Password
Explanation: Must consist from _ or @ or $
Here we have used the re module that provides support for regular expressions in Python. Along with this the re.search() method returns False (if the first parameter is not found in the second parameter) This method is best suited for testing a regular expression more than extracting data. We have used the re.search() to check the validation of alphabets, digits, or special characters. To check for white spaces we use the “\s” which comes in the module of the regular expression. 
Python3
# Python program to check validation of password# Module of regular expression is used with search()import repassword = "R@m@_f0rtu9e$& quotflag = 0while True:    if (len(password) & lt            8):        flag = -1        break    elif not re.search(& quot                        [a-z]"                        , password):        flag = -1        break    elif not re.search(& quot                        [A-Z]"                        , password):        flag = -1        break    elif not re.search(& quot                        [0-9]"                        , password):        flag = -1        break    elif not re.search(& quot                        [_@$]"                        , password):        flag = -1        break    elif re.search(& quot                    \s"                    , password):        flag = -1        break    else:        flag = 0        print(& quot               Valid Password & quot               )        break if flag == -1:    print(& quot           Not a Valid Password & quot           )
Python3
l, u, p, d = 0, 0, 0, 0s = "R@m@_f0rtu9e$"if (len(s) >= 8):    for i in s:         # counting lowercase alphabets        if (i.islower()):            l+=1                    # counting uppercase alphabets        if (i.isupper()):            u+=1                    # counting digits        if (i.isdigit()):            d+=1                    # counting the mentioned special characters        if(i=='@'or i=='$' or i=='_'):            p+=1          if (l>=1 and u>=1 and p>=1 and d>=1 and l+p+u+d==len(s)):    print("Valid Password")else:    print("Invalid Password")
Way 3: Without using any built-in method
Python3
l, u, p, d = 0, 0, 0, 0s = "R@m@_f0rtu9e$"capitalalphabets="ABCDEFGHIJKLMNOPQRSTUVWXYZ"smallalphabets="abcdefghijklmnopqrstuvwxyz"specialchar="$@_"digits="0123456789"if (len(s) >= 8):    for i in s:         # counting lowercase alphabets        if (i in smallalphabets):            l+=1                    # counting uppercase alphabets        if (i in capitalalphabets):            u+=1                    # counting digits        if (i in digits):            d+=1                    # counting the mentioned special characters        if(i in specialchar):            p+=1       if (l>=1 and u>=1 and p>=1 and d>=1 and l+p+u+d==len(s)):    print("Valid Password")else:    print("Invalid Password")
Valid Password
Divyu_Pandey
kogantibhavya
Python Regex-programs
Python string-programs
python-regex
python-string
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Enumerate() in Python
Different ways to create Pandas Dataframe
How to Install PIP on Windows ?
Python String | replace()
Python Classes and Objects
Introduction To PYTHON
Python OOPs Concepts
*args and **kwargs in Python
Create a Pandas DataFrame from Lists