from Tkinter import *
import tkMessageBox
def usercomp():
cuser=user.get()
longitud=len(cuser)
notnum=cuser.isalnum()
if notnum == False:
tkMessageBox.showinfo("Error", "El nombre de usuario puede contener solo letras y números")
elif longitud < 6:
tkMessageBox.showinfo("Error","El nombre de usuario debe contener al menos 6 caracteres")
elif longitud > 12:
tkMessageBox.showinfo("Error", "El nombre de usuario no puede contener más de 12 caracteres")
elif longitud > 5 and longitud < 13 and notnum == True:
return True
def clavecomp():
cpasword=pasword.get()
validar = False # que se vayan cumpliendo los requisitos uno a uno.
long = len(cpasword) # Calcula la longitud de la contraseña
espacio = False # variable para identificar espacios
mayuscula = False # variable para identificar letras mayúsculas
minuscula = False # variable para contar identificar letras minúsculas
numeros = False # variable para identificar números
y = cpasword.isalnum() # si es alfanumérica retona True
correcto = True # verifica que hayan mayuscula, minuscula, numeros y no alfanuméricos
for carac in cpasword: # ciclo for que recorre caracter por caracter en la contraseña
if carac.isspace() == True: # Saber si el caracter es un espacio
espacio = True # si encuentra un espacio se cambia el valor user
if carac.isupper() == True: # saber si hay mayuscula
mayuscula = True # acumulador o contador de mayusculas
if carac.islower() == True: # saber si hay minúsculas
minuscula = True # acumulador o contador de minúsculas
if carac.isdigit() == True: # saber si hay números
numeros = True # acumulador o contador de numeros
if espacio == True: # hay espacios en blanco
tkMessageBox.showinfo("Error en la contraseña", "La contraseña no puede contener espacios")
else:
validar = True # se cumple el primer requisito que no hayan espacios
if long < 8 and validar == True:
tkMessageBox.showinfo("Error en la contraseña ","Mínimo 8 caracteres")
validar = False # cambia a Flase si no se cumple el requisito móinimo de caracteres
if mayuscula == True and minuscula == True and numeros == True and y == False and validar == True:
validar = True # Cumple el requisito de tener mayuscula, minuscula, numeros y no alfanuméricos
else:
correcto = False # uno o mas requisitos de mayuscula, minuscula, numeros y no alfanuméricos no se cumple
if validar == True and correcto == False:
tkMessageBox.showinfo("Aviso",
"La contraseña elegida no es segura: debe contener letras minúsculas, mayúsculas, números y al menos 1 carácter no alfanumérico")
if validar == True and correcto == True:
return True
def validation():
correcto = False
if correcto == False:
if usercomp() == True:
correcto = True
if correcto == True:
if clavecomp() == True:
tkMessageBox.showinfo("Aviso", "Usuario y contraseña creados exitosamente")
correcto = False
raiz=Tk()
raiz.title("ventana primaria")
raiz.resizable(1,1) #para permitir agrandar o no el ancho o la altura con el moyuse
raiz.iconbitmap("descarga.ico")
#raiz.geometry("500x600")
raiz.config(bg="cyan")
raiz.config(bd=15)
raiz.config(relief="groove")
miFrame=Frame(raiz)
miFrame.pack()
miFrame.config(bg="pink")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")
miLabel1=Label(miFrame, text="Ingrese sus datos", fg="red",bg="pink",font=("Arial",18)).grid(row=0,column=0,pady="4")
nombreusuarioLabel=Label(miFrame, text="Nombre usuario: ",bg="pink").grid(row=3,column=0, sticky="w",pady="1")
contrasenaLabel=Label(miFrame, text="Contraseña: ",bg="pink").grid(row=4,column=0,sticky="w",pady="1")
user=StringVar()
pasword=StringVar()
cuadronombreusuario=Entry(miFrame, textvariable=user)
cuadronombreusuario.grid(row=3,column=1,pady="1")
cuadronombreusuario.config(fg="blue", justify="center")
cuadrocontrasena=Entry(miFrame, textvariable=pasword)
cuadrocontrasena.grid(row=4,column=1,pady="1")
cuadrocontrasena.config(show="*",fg="blue", justify="center")
botonEnvio=Button(raiz, text= "Enviar",command=validation)
botonEnvio.pack()
raiz.mainloop()
Interfaz:
Errores:
Datos ingresados correctamente:
No hay comentarios.:
Publicar un comentario