背景介绍
随着用户数据的积累,我们需要将用户信息存储在本地文件中,以便后续使用。本系统采用HTML、CSS和JavaScript实现前端用户输入界面,结合Python的文件操作功能,完成注册和登录流程,并保存用户数据到本地JSON文件中。
思路分析
- 用户输入验证逻辑:
用户输入用户名和密码后,需验证其合法性。验证逻辑包括:- 用户名长度 ≥ 3
- 密码长度 ≥ 8
- 包含至少一个字母、数字或符号
- 文件操作:
使用Python的json模块读取本地文件(例如user.json),保存数据时需确保数据结构为字典,便于后续读取和更新。 -
UI界面设计:
- 页面包含注册表单和成功提示
- 表单提交后,显示“注册成功”提示
代码实现
import json
# 保存用户数据到本地文件
def save_user_data(username, password):
with open("user.json", "w", encoding="utf-8") as f:
json.dump({
"username": username,
"password": password
}, f)
# 读取用户数据并验证
def load_user_data():
try:
with open("user.json", "r", encoding="utf-8") as f:
data = json.load(f)
return data
except FileNotFoundError:
return {}
# 示例使用
if __name__ == "__main__":
username = input("请输入用户名: ")
password = input("请输入密码: ")
# 验证用户名和密码
if is_valid_username(username) and is_valid_password(password):
result = load_user_data()
print("注册成功:")
print(f"用户名: {result['username']}, 密码: {result['password']}")
save_user_data(username, password)
else:
print("注册失败:")
print("用户名必须至少3位字符,密码必须至少8位字符")
# 验证函数
def is_valid_username(username):
return len(username) >= 3 and username.isalnum()
def is_valid_password(password):
return len(password) >= 8 and not all(c.isalnum() for c in password)
总结
本项目通过以下方式实现用户注册与登录功能:
- 使用HTML和CSS构建用户表单
- 利用Python的文件操作功能保存用户数据
- 使用字典结构保存数据,便于后续读取
- 实现用户输入验证逻辑
项目完成后,用户数据将保存到本地文件,便于后续的使用和维护。
可执行性说明:
代码可运行在本地环境中,只需在终端输入上述代码即可测试。文件路径“user.json”默认在项目目录下。