En este programa, tomaremos una contraseña como una combinación de caracteres alfanuméricos junto con caracteres especiales y verificaremos si la contraseña es válida o no con la ayuda de algunas condiciones.
Condiciones principales para la validación de contraseña:
- Mínimo 8 caracteres.
- El alfabeto debe estar entre [az]
- Al menos un alfabeto debe estar en mayúsculas [AZ]
- Al menos 1 número o dígito entre [0-9].
- Al menos 1 carácter de [ _ o @ o $].
Ejemplos:
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 $
Forma 1:
Aquí hemos utilizado el módulo re que proporciona soporte para expresiones regulares en Python . Junto con esto, el método re.search() devuelve False (si el primer parámetro no se encuentra en el segundo parámetro). Este método es más adecuado para probar una expresión regular que para extraer datos. Hemos utilizado re.search() para verificar la validación de alfabetos, dígitos o caracteres especiales. Para comprobar si hay espacios en blanco usamos el «\s» que viene en el módulo de la expresión regular.
Python3
# Python program to check validation of password # Module of regular expression is used with search() import re password = " R@m@_f0rtu9e$& quot flag = 0 while 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 )
Forma 2:
Python3
l, u, p, d = 0, 0, 0, 0 s = "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")
Forma 3: sin utilizar ningún método integrado
Python3
l, u, p, d = 0, 0, 0, 0 s = "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
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA