1. ใช้ Regex ^[A-Za-z0-9_-]*$
>> import re
>>> bool(re.match("^[A-Za-z0-9_-]*$", 'aValidString123--__'))
True
>>> bool(re.match("^[A-Za-z0-9_-]*$", 'inv@lid'))
False
2. ใช้ Sets
from sets import Set
allowed_chars = Set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
validationString = 'inv@lid'
if Set(validationString).issubset(allowed_chars):
print(True)
else:
print(False)
ผลลัพธ์
False