首页 > 编程知识 正文

手机号与验证码大全2021,手机号与验证码片

时间:2023-05-05 18:59:44 阅读:283849 作者:4126

简单验证码生成 def generate_code(self): """ 生成四位数字的验证码 """ seeds = "1234567890" random_str = [] for i in range(4): random_str.append(choice(seeds)) return "".join(random_str) setting.py中 # 手机号码正则表达式REGEX_MOBILE = "^1[358]d{9}$|^147d{8}$|^176d{8}$" users/serializers.py:
验证手机号 import refrom datetime import datetime, timedeltafrom VueDjangoFrameWorkShop.settings import REGEX_MOBILEfrom users.models import VerifyCodefrom rest_framework import serializersfrom django.contrib.auth import get_user_modelUser = get_user_model()class SmsSerializer(serializers.Serializer): mobile = serializers.CharField(max_length=11) def validate_mobile(self, mobile): """ 验证手机号码(函数名称必须为validate_ + 字段名) """ # 手机是否注册 if User.objects.filter(mobile=mobile).count(): raise serializers.ValidationError("用户已经存在") # 验证手机号码是否合法 if not re.match(REGEX_MOBILE, mobile): raise serializers.ValidationError("手机号码非法") # 验证码发送频率 one_mintes_ago = datetime.now() - timedelta(hours=0, minutes=1, seconds=0) # 添加时间大于一分钟以前。也就是距离现在还不足一分钟 if VerifyCode.objects.filter(add_time__gt=one_mintes_ago, mobile=mobile).count(): raise serializers.ValidationError("距离上一次发送未超过60s") return mobile

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。