使用 Vanilla JS 实现表单验证(适合初学者)
练习:表单验证
客观的
创建一个包含姓名、电子邮件和密码字段的基本表单。实施 JavaScript 验证以确保在提交之前正确填写字段。这是一个简单的代码项目,旨在帮助您开始使用 JS 进行基本表单验证。
要求
- HTML 表单:创建一个包含姓名、电子邮件和密码输入的 HTML 表单。
- CSS 样式:添加基本样式,使表单看起来干净且用户友好。
- JavaScript 验证:实现 JavaScript 来验证表单字段。
分步说明
第 1 步:设置 HTML 结构
-
创建一个新的 HTML 文件
- 创建一个名为index.html的新文件。
-
添加 HTML 样板
- 将基本 HTML 样板添加到您的文件中:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Form Validation</title> <link rel="stylesheet" href="styles.css"> </head> <body> <form id="registrationForm"> <h2>Registration Form</h2> <div> <label for="name">Name:</label> <input type="text" id="name" name="name"> <span id="nameError" class="error"></span> </div> <div> <label for="email">Email:</label> <input type="email" id="email" name="email"> <span id="emailError" class="error"></span> </div> <div> <label for="password">Password:</label> <input type="password" id="password" name="password"> <span id="passwordError" class="error"></span> </div> <button type="submit">Register</button> </form> <script src="script.js"></script> </body> </html>
登录后复制 -
添加表单元素
- 确保您的表单包含姓名、电子邮件和密码字段,每个字段都有相应的错误消息范围。
第 2 步:添加基本 CSS 样式
-
创建一个新的 CSS 文件
- 创建一个名为 styles.css 的新文件。
-
添加基本样式
- 添加基本样式,使表单看起来干净且用户友好:
body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f4f4f4; margin: 0; } form { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); max-width: 400px; width: 100%; } div { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; } input { width: 100%; padding: 8px; box-sizing: border-box; } .error { color: red; font-size: 12px; } button { background-color: #007BFF; color: #fff; padding: 10px; border: none; border-radius: 5px; cursor: pointer; } button:hover { background-color: #0056b3; }
登录后复制
第 3 步:实施 JavaScript 验证
-
创建一个新的 JavaScript 文件
- 创建一个名为 script.js 的新文件。
-
向表单添加事件监听器
- 向表单添加事件监听器来处理表单提交:
document.getElementById('registrationForm').addEventListener('submit', function(event) { event.preventDefault(); validateForm(); });
登录后复制 -
创建验证函数
- 添加一个函数来验证表单字段:
function validateForm() { // Clear previous error messages document.getElementById('nameError').innerText = ''; document.getElementById('emailError').innerText = ''; document.getElementById('passwordError').innerText = ''; // Get form values const name = document.getElementById('name').value; const email = document.getElementById('email').value; const password = document.getElementById('password').value; // Validation flags let isValid = true; // Validate name if (name.trim() === '') { document.getElementById('nameError').innerText = 'Name is required'; isValid = false; } // Validate email if (email.trim() === '') { document.getElementById('emailError').innerText = 'Email is required'; isValid = false; } else if (!validateEmail(email)) { document.getElementById('emailError').innerText = 'Email is not valid'; isValid = false; } // Validate password if (password.trim() === '') { document.getElementById('passwordError').innerText = 'Password is required'; isValid = false; } else if (password.length < 6) { document.getElementById('passwordError').innerText = 'Password must be at least 6 characters'; isValid = false; } // If all fields are valid, submit the form (for demonstration, we'll just alert a message) if (isValid) { alert('Form submitted successfully!'); } } // Email validation function function validateEmail(email) { const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return re.test(String(email).toLowerCase()); }
登录后复制
第 4 步:测试表单
-
在浏览器中打开index.html
- 在网络浏览器中打开 HTML 文件以测试表单验证。
- 尝试提交具有不同输入的表单,以确保验证按预期进行。
随意使用代码并表达您的创造力。
编码愉快!
以上是使用 Vanilla JS 实现表单验证(适合初学者)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

实现视差滚动和元素动画效果的探讨本文将探讨如何实现类似资生堂官网(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

探索前端中类似VSCode的面板拖拽调整功能的实现在前端开发中,如何实现类似于VSCode...
