tfse-admin-api-v0.2/user/scripts.py

58 lines
1.5 KiB
Python
Raw Normal View History

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