直到现在,当用户在我的应用程序中注册时,他无法创建具有特殊字符的用户名。我不喜欢这样写道:筛选一些特殊字符
if username.isalnum() is False:
....
但现在我希望能够像的特殊字符列表:! - _ $
。
什么是正确的做法?
直到现在,当用户在我的应用程序中注册时,他无法创建具有特殊字符的用户名。我不喜欢这样写道:筛选一些特殊字符
if username.isalnum() is False:
....
但现在我希望能够像的特殊字符列表:! - _ $
。
什么是正确的做法?
这段代码将打印坏字符
username = 'test343!_$&^ffg'
character_allowed = ['!', '_', '-', '$']
for letter in username:
if not (letter.isalpha() or letter.isdigit() or letter in character_allowed):
print letter
非常感谢,这就是我想要的! – GrandGTO
如果使用了错误的字符并将其删除,此代码将会发出警报。
a = "username$"
b = "! - _ $" #can be a string, list or set
#alert if bad chars
for c in b:
if c in a:
print c + " is a bad character"
break
#short alert code
if any((c in a) for c in b): print c + " is a bad character"
#remove bad chars
for c in b: a=a.replace(c,"")
print a
一个无效字符不是字母数字and
它不是在允许的特殊字符。
name = '[email protected]'
valid_chars = set('! - _ $')
for char in name:
if not char.isalnum() and char not in valid_chars:
print(char, 'is invalid.')
break
你想要它们被替换或只是删除? – Veltro
我只想检测它们。如果特殊字符不在列表中,它将返回一条消息,告诉该字符不受支持。 – GrandGTO