我想要的是
我正在使用一个django
表单,它需要输入密码。我需要传递多个正则表达式的输入值,这将测试是否:
- 至少一个字符是小写的
- 至少一个字符是大写的
- 至少一个字符是数字
- 至少有一个字符是特殊字符(符号)
- 最少 8 个字符
我想知道哪些条件已经满足,哪些没有。
我做了什么
def clean_password(self):
password = self.cleaned_data.get("password")
regexes = [
"[a-z]",
"[A-Z]",
"[0-9]",
#other regex...
]
# Make a regex that matches if any of our regexes match.
combined = "(" + ")|(".join(regexes) + ")"
if not re.match(combined, password):
print("Some regex matched!")
# i need to pass in ValidationError those regex that haven't match
raise forms.ValidationError('This password does not contain at least one number.')