lawrence1357 发表于 2020-8-3 13:51:56

isalnum判断

isalnum判断的时候,中文也是true,请问怎么判断只有字母和数字,比如密码验证,还有就是,输入密码的时候输入法只有英文,请问这个是怎么设置的,谢谢

zltzlt 发表于 2020-8-3 13:53:07

本帖最后由 zltzlt 于 2020-8-3 14:12 编辑

见下面代码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

Twilight6 发表于 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()


页: [1]
查看完整版本: isalnum判断