aicheckv2-api/core/validator.py
2025-04-11 08:54:28 +08:00

52 lines
1.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2021/10/18 22:19
# @File : validator.py
# @IDE : PyCharm
# @desc : pydantic 模型重用验证器
"""
官方文档https://pydantic-docs.helpmanual.io/usage/validators/#reuse-validators
"""
import re
def vali_telephone(value: str) -> str:
"""
手机号验证器
:param value: 手机号
:return: 手机号
"""
if not value or len(value) != 11 or not value.isdigit():
raise ValueError("请输入正确手机号")
regex = r'^1(3\d|4[4-9]|5[0-35-9]|6[67]|7[013-8]|8[0-9]|9[0-9])\d{8}$'
if not re.match(regex, value):
raise ValueError("请输入正确手机号")
return value
def vali_email(value: str) -> str:
"""
邮箱地址验证器
:param value: 邮箱
:return: 邮箱
"""
if not value:
raise ValueError("请输入邮箱地址")
regex = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
if not re.match(regex, value):
raise ValueError("请输入正确邮箱地址")
return value