|
发表于 2020-8-3 14:14:00
|
显示全部楼层
isalnum判断的时候,中文也是true,请问怎么判断只有字母和数字,比如密码验证?
第一个方法同楼上,重新写个函数来设置返回,不用字符串方法 isalnum
参考代码:
- def isalnum(string):
- for i in string:
- if not (65 <= ord(i) <= 90 or 97 <= ord(i) <= 122 or i.isdigit()):
- return False
- return True
- user = input('请输入密码:')
- while not isalnum(user):
- user = input('密码输入不规范,请重新输入密码:')
复制代码
还有就是,输入密码的时候输入法只有英文,请问这个是怎么设置的?
直接在交互界面只能输入后进行判断,用 GUI 可以直接进行验证
参考代码:
- from tkinter import *
- def isalnum(string):
- for i in string:
- if not (65 <= ord(i) <= 90 or 97 <= ord(i) <= 122 or i.isdigit()):
- return False
- return True
- root = Tk()
- test = root.register(isalnum)
- Label(root,text='请输入密码:').grid(row=0,column=0)
- e = Entry(root,validate="key", validatecommand=(test,'%P'),show='*')
- e.grid(row=0,column=1,)
- mainloop()
复制代码
|
|