1、输入手机号,点击发送后随机生成6位数字码,5分钟有效 2、输入验证码,点击验证,返回成功或失败 3、每个手机号每天只能输入3次,代码
时间: 2024-03-03 20:48:58 浏览: 17
好的,以下是一个简单的实现验证码功能的 Python 代码示例:
```python
import random
import time
# 存储已发送的验证码及其过期时间的字典
sent_codes = {}
# 存储每个手机号今天已经验证的次数的字典
verified_counts = {}
# 生成随机的6位数字验证码
def generate_code():
return str(random.randint(100000, 999999))
# 发送验证码到指定的手机号
def send_code_to_mobile(mobile):
# 检查该手机号今天是否已经验证了3次
if verified_counts.get(mobile, 0) >= 3:
print('今天该手机号已经验证了3次,请明天再试!')
return False
# 生成验证码
code = generate_code()
# 存储验证码及其过期时间
sent_codes[mobile] = (code, time.time() + 300)
print(f'已向手机号 {mobile} 发送验证码 {code},请在5分钟内输入。')
return True
# 验证输入的验证码是否正确
def verify_code(mobile, code):
# 检查该手机号今天是否已经验证了3次
if verified_counts.get(mobile, 0) >= 3:
print('今天该手机号已经验证了3次,请明天再试!')
return False
# 检查该手机号是否已经发送过验证码
if mobile not in sent_codes:
print('请先发送验证码!')
return False
# 检查验证码是否正确
sent_code, expire_time = sent_codes[mobile]
if code != sent_code:
print('验证码错误!')
return False
# 检查验证码是否已经过期
if time.time() > expire_time:
print('验证码已过期!')
return False
# 验证通过,更新该手机号今天已经验证的次数
verified_counts[mobile] = verified_counts.get(mobile, 0) + 1
print('验证通过!')
return True
```
这段代码实现了发送验证码、验证输入的验证码和限制每个手机号每天最多验证3次的功能。你可以根据自己的需求进行修改和优化。