2022-01-06 17:56:30 +08:00
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
from common.rsa import decrypt_data
|
2022-01-10 05:22:25 +08:00
|
|
|
|
from common.scripts import make_id
|
2022-01-06 17:56:30 +08:00
|
|
|
|
from user.db import find_user_info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_mail_fmt(email):
|
|
|
|
|
"""
|
|
|
|
|
邮箱地址格式校验
|
|
|
|
|
Parameters:
|
|
|
|
|
email: 邮箱
|
|
|
|
|
Returns:
|
|
|
|
|
result: 邮箱校验结果,正确返回True,不正确返回False
|
|
|
|
|
"""
|
|
|
|
|
regex = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"
|
|
|
|
|
case = (len(email) > 7) and (re.match(regex, email) is not None)
|
|
|
|
|
result = True if case else False
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_pwd_fmt(pwd):
|
|
|
|
|
"""
|
|
|
|
|
密码强度校验
|
|
|
|
|
Parameters:
|
|
|
|
|
pwd: 密码(已加密)
|
|
|
|
|
Returns:
|
|
|
|
|
result: 密码强度校验结果,正确返回True,不正确返回False
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
password = decrypt_data(encrypt_msg=pwd)
|
|
|
|
|
except Exception:
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
regex = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)^.{8,}$"
|
|
|
|
|
case = (len(password) >= 8) and (re.match(regex, password) is not None)
|
|
|
|
|
result = True if case else False
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def gen_new_uid():
|
|
|
|
|
"""
|
|
|
|
|
生成新的用户ID,如果该ID存在,则重新生成
|
|
|
|
|
Parameters:
|
|
|
|
|
-
|
|
|
|
|
Returns:
|
|
|
|
|
new_id: 生成的用户ID
|
|
|
|
|
"""
|
|
|
|
|
# 生成新ID
|
|
|
|
|
new_id = make_id()
|
|
|
|
|
# 检查新ID是否存在,如果存在则继续生成新ID
|
|
|
|
|
case = find_user_info({"企业ID": new_id}) is []
|
|
|
|
|
while case:
|
|
|
|
|
new_id = make_id()
|
|
|
|
|
# 新ID可使用,返回新ID
|
|
|
|
|
return new_id
|