# 网页表单验证功能实现


项目说明

本项目使用HTML、CSS和JavaScript实现,前端验证逻辑基于简单数据验证规则,核心技术点为表单数据验证。输入输出示例清晰可见,项目可独立运行。


技术思路

本项目的核心逻辑是验证用户输入的三个字段是否符合格式要求:
– 姓名:请输入真实姓名
– 年龄:请输入数字
– 邮箱:请输入有效邮箱

验证逻辑基于以下规则:
1. 验证姓名是否为字符串,年龄是否为数字,邮箱是否符合正则表达式。
2. 通过DOM元素实时更新验证结果,避免冗余代码。
3. 输出结果以HTML展示,直观清晰。


代码实现

1. HTML表单结构

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>表单验证</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
        }
        .result {
            margin-top: 10px;
        }
        input, label {
            display: block;
            margin-bottom: 5px;
        }
    </style>
</head>
<body>
    <h2>网页表单验证</h2>
    <form id="validateForm">
        <label for="name">姓名:</label><input type="text" id="name" name="name" required><br>
        <label for="age">年龄:</label><input type="number" id="age" name="age" min="1" max="100" required><br>
        <label for="email">邮箱:</label><input type="email" id="email" name="email" required><br>
        <button type="submit">提交</button>
    </form>
    <div class="result">
        <h3>验证结果</h3>
        <span id="nameResult">姓名:*</span><br>
        <span id="ageResult">年龄:*</span><br>
        <span id="emailResult">邮箱:*</span>
    </div>

    <script>
        let validateForm = document.getElementById('validateForm');
        let nameInput = document.getElementById('name');
        let ageInput = document.getElementById('age');
        let emailInput = document.getElementById('email');
        let resultDiv = document.getElementById('result');

        function validateFields() {
            const name = nameInput.value.trim();
            const age = ageInput.value;
            const email = emailInput.value;

            const isValid = {
                name: /^[a-zA-Z]+$/,
                age: /^\d+$/,
                email: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/g
            };

            if (isValid.name.test(name)) {
                resultDiv.innerHTML = `
                    <span id="nameResult">姓名:有效</span>
                    <span id="ageResult">年龄:*请输入数字*</span>
                    <span id="emailResult">邮箱:*请输入有效邮箱*</span>
                `;
            } else {
                resultDiv.innerHTML = `
                    <span id="nameResult">姓名:无效</span>
                    <span id="ageResult">年龄:*请输入数字*</span>
                    <span id="emailResult">邮箱:*请输入有效邮箱*</span>
                `;
            }

            if (isValid.age.test(age)) {
                resultDiv.innerHTML = `
                    <span id="nameResult">姓名:有效</span>
                    <span id="ageResult">年龄:有效</span>
                    <span id="emailResult">邮箱:*请输入有效邮箱*</span>
                `;
            } else {
                resultDiv.innerHTML = `
                    <span id="nameResult">姓名:无效</span>
                    <span id="ageResult">年龄:无效</span>
                    <span id="emailResult">邮箱:*请输入有效邮箱*</span>
                `;
            }

            if (isValid.email.test(email)) {
                resultDiv.innerHTML = `
                    <span id="nameResult">姓名:有效</span>
                    <span id="ageResult">年龄:有效</span>
                    <span id="emailResult">邮箱:有效</span>
                `;
            } else {
                resultDiv.innerHTML = `
                    <span id="nameResult">姓名:无效</span>
                    <span id="ageResult">年龄:无效</span>
                    <span id="emailResult">邮箱:无效</span>
                `;
            }
        }

        validateForm.addEventListener('submit', () => {
            validateFields();
        });
    </script>
</body>
</html>

2. 项目总结

本项目通过HTML表单实现前端验证逻辑,结合JavaScript实现验证结果的实时更新。验证逻辑验证用户输入的三个字段是否符合格式要求,并通过DOM元素动态展示验证结果,确保用户清晰直观地看到验证结果。

项目实现时间为1-3天,符合Web开发基础的要求,专注于数据验证,避免了重复内容。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注