25 lines
601 B
Python
25 lines
601 B
Python
from django.core.cache import cache
|
|
from rest_framework.exceptions import ParseError
|
|
import re
|
|
|
|
|
|
def check_phone_code(phone, code, raise_exception=True):
|
|
code_exist = cache.get(phone, None)
|
|
if code_exist == code:
|
|
return True
|
|
if raise_exception:
|
|
raise ParseError('验证码错误')
|
|
return False
|
|
|
|
|
|
|
|
def validate_password(password):
|
|
# 正则表达式匹配规则
|
|
pattern = r"^(?=.*[a-zA-Z])(?=.*\d)(?=.*[@#$%^&.+=!])(?!.*\s).{8,}$"
|
|
|
|
# 使用正则表达式进行匹配
|
|
if re.match(pattern, password):
|
|
return True
|
|
else:
|
|
return False
|