我正在创建一个密码验证系统。但是,我收到一条错误消息,并且我不明白错误的原因或原因。我在单独的文件上测试了这些验证的各个部分,它们可以正常工作,但是当将它们实施到我的实际程序中时,它似乎无法正常工作。 这是负责验证的代码。
#Ensures passwords match and writes the account details to the database
def Checker():
if re.match(user_password2v2, user_passwordv2):
match+=1
else:
match=match
if len(user_namev2) > 5 and len(user_passwordv2)>7:#Ensures the username and passwor are of a minimum length
match+=1
else:
match=match
if re.search(r"\W", user_password2): #Ensures a character is present in the password
match+=1
else:
match=match
if re.search(r'[0-9]', user_weightv2):#Ensures numbers are used in the weight entry
match+=1
else:
match=match
if match==4:
user_information.append(user_namev2)
user_information.append(user_passwordv2)
user_information.append(weight)
Goal_Select()
if match!=4:
Error()
如果不满足任何这些条件语句,应运行 Error()
。
user_namev2
,user_passwordv2
和user_weightv2
都是从tkinter输入框中提取的变量。
答案 0 :(得分:2)
“ user_passwordv2”的数据类型看起来不适合re.search
。
跟随代码进行类型转换怎么样?
re.search(r"\W", str(user_password2))
#re.search(r"\W", user_password2)