到目前为止,当用户在我的应用中注册时,他无法创建具有特殊字符的用户名。我是这样做的:
if username.isalnum() is False:
....
但现在我想启用一个特殊字符列表,例如:! - _ $
。
这样做的正确方法是什么?
答案 0 :(得分:0)
如果使用了错误的字符,此代码将发出警告并将其删除。
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
答案 1 :(得分:0)
此代码将打印错误字符
username = 'test343!_$&^ffg'
character_allowed = ['!', '_', '-', '$']
for letter in username:
if not (letter.isalpha() or letter.isdigit() or letter in character_allowed):
print letter
答案 2 :(得分:0)
无效的字符不是字母数字and
,它不在允许的特殊字符中。
name = 'GrandGTO$@'
valid_chars = set('! - _ $')
for char in name:
if not char.isalnum() and char not in valid_chars:
print(char, 'is invalid.')
break