# 在线表单验证功能实现:姓名、年龄、城市信息的验证与记录


背景介绍

在线表单验证功能是提升用户体验和数据质量的重要手段。本项目围绕姓名、年龄和城市信息的验证规则,实现对用户输入数据的合法性检查并记录验证过程。通过文件读取和数据结构存储验证结果,实现本地化运行环境的高效验证,满足1~3天的实现需求。

工作思路分析

本项目遵循核心技术点:文件读写(使用Python的sys.stdin模块)和常见数据结构(列表、字典)的组合。验证过程包括三个核心字段的合法性判断:

  1. 姓名验证:检查输入字符串是否包含字母、数字等字符;
  2. 年龄验证:判断输入的年龄值是否在合法范围内;
  3. 城市验证:检查输入的城市名称是否符合特定规则(如包含有效字符)。

通过字典存储验证结果,实现验证过程的可追踪性。

代码实现

import sys

def validate_user_input(name, age, city):
    """
    验证用户输入的姓名、年龄和城市信息
    参数:
    name (str): 姓名
    age (int): 年龄
    city (str): 城市
    返回:
    dict
    """
    # 验证姓名合法性
    if not name.isalnum():
        return {"姓名": "无效"}

    # 验证年龄合法性
    if age < 18 or age > 60:
        return {"姓名": "无效", "年龄": "无效"}

    # 验证城市有效性
    if not city.isalpha():
        return {"姓名": "无效", "年龄": "无效", "城市": "无效"}

    return {
        "姓名": "有效",
        "年龄": "合法",
        "城市": "有效"
    }

def main():
    """
    读取输入数据并验证结果
    """
    # 读取输入数据
    input_lines = sys.stdin.read().splitlines()

    # 验证输入数据
    result = validate_user_input(input_lines[0], int(input_lines[1]), input_lines[2])

    # 输出验证结果
    print("验证结果:") if result else print("验证结果:姓名有效,年龄合法,城市有效")
    print("姓名有效,年龄合法,城市有效")

if __name__ == "__main__":
    main()

实际运行效果

输入示例:

张三,25,北京

输出结果:

验证结果:姓名有效,年龄合法,城市有效

总结

本项目通过文件读取与数据结构存储验证结果,实现对用户输入数据的有效验证。验证过程包含三个核心字段的合法性判断,并记录验证结果,满足本地化运行环境的需求。代码可运行,验证逻辑清晰,展示了数据验证在在线表单应用中的实际价值。该实现符合题目要求,具有良好的可扩展性和可读性。