简单的网页登录与注册系统

import json
import re

# 账号与密码存储的文件名
ACCOUNTS_FILE = 'accounts.json'


def load_accounts():#用异常排除找不到账号的情况
    try:
        with open(ACCOUNTS_FILE, 'r') as file:
            return json.load(file)
    except FileNotFoundError:
        return {}


def save_accounts(accounts):#用于注册时将新写入的账号与密码写入存储账号与密码的文件
    with open(ACCOUNTS_FILE, 'w') as file:
        json.dump(accounts, file)


def is_valid_phone(phone):#判断手机号的格式是否正确
    return re.match(r'\d{11}', phone) is not None


def is_valid_password(password):#判断密码的格式
    return re.match(r'^[A-Za-z0-9]{6,12}$', password) is not None


def register(phone, password):#注册系统
    accounts = load_accounts()
    if not is_valid_phone(phone) or not is_valid_password(password):
        return False
    if phone in accounts:
        return False  # 手机号已注册
    accounts[phone] = password
    save_accounts(accounts)
    return True


def login(phone, password):#登录系统
    accounts = load_accounts()
    if phone not in accounts:
        return False  # 手机号未注册
    if accounts[phone] != password:
        return False  # 密码错误
    return True


def main():
    while True:
        print("\n1. 注册 2. 登录 3. 退出")
        choice = input("请选择操作: ")
        if choice == '1':
            phone = input("请输入手机号: ")
            password = input("请输入密码(6-12位数字与字母组合): ")
            if register(phone, password):
                print("注册成功!")
            else:
                print("注册失败,手机号已存在或密码不符合要求。")
        elif choice == '2':
            phone = input("请输入手机号: ")
            password = input("请输入密码: ")
            if login(phone, password):
                print("登录成功!")
            else:
                print("登录失败,手机号未注册或密码错误。")
        elif choice == '3':
            print("退出系统。")
            break
        else:
            print("无效操作,请重新输入。")


main()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容