表单数据验证 设计网页如下图所示,要求实现 在文本框失去焦点时,进行用户名、密码、确认密码、姓名数据验证,输入错误,在右侧显示警告信息。 只有所有验证通过时才能提交表单.

时间: 2024-05-01 22:22:23 浏览: 21
好的,这个可以使用JavaScript来实现,具体实现步骤如下: 1. 给每个文本框添加失去焦点事件监听器,当焦点离开文本框时触发验证函数。 2. 编写验证函数,根据不同的文本框进行不同的验证,如用户名长度、密码强度、确认密码等。 3. 如果验证不通过,修改右侧提示信息的内容和样式。 4. 如果所有验证通过,允许提交表单。 下面是示例代码,你可以根据自己的需求进行修改和优化: HTML代码: ``` <form id="myForm"> <div> <label for="username">用户名:</label> <input type="text" id="username" name="username"> <span class="error" id="usernameError"></span> </div> <div> <label for="password">密码:</label> <input type="password" id="password" name="password"> <span class="error" id="passwordError"></span> </div> <div> <label for="confirmPassword">确认密码:</label> <input type="password" id="confirmPassword" name="confirmPassword"> <span class="error" id="confirmPasswordError"></span> </div> <div> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <span class="error" id="nameError"></span> </div> <button type="submit" id="submitBtn">提交</button> </form> ``` JavaScript代码: ``` // 获取表单元素和错误提示元素 const form = document.getElementById('myForm'); const username = document.getElementById('username'); const password = document.getElementById('password'); const confirmPassword = document.getElementById('confirmPassword'); const name = document.getElementById('name'); const usernameError = document.getElementById('usernameError'); const passwordError = document.getElementById('passwordError'); const confirmPasswordError = document.getElementById('confirmPasswordError'); const nameError = document.getElementById('nameError'); // 给每个文本框添加失去焦点事件监听器 username.addEventListener('blur', validateUsername); password.addEventListener('blur', validatePassword); confirmPassword.addEventListener('blur', validateConfirmPassword); name.addEventListener('blur', validateName); // 验证用户名 function validateUsername() { const value = username.value.trim(); if (value.length < 6 || value.length > 20) { usernameError.textContent = '用户名长度必须在6-20之间'; usernameError.classList.add('error-show'); return false; } else { usernameError.textContent = ''; usernameError.classList.remove('error-show'); return true; } } // 验证密码 function validatePassword() { const value = password.value.trim(); if (value.length < 6) { passwordError.textContent = '密码长度不能小于6位'; passwordError.classList.add('error-show'); return false; } else if (!/\d/.test(value) || !/[a-zA-Z]/.test(value)) { passwordError.textContent = '密码必须包含数字和字母'; passwordError.classList.add('error-show'); return false; } else { passwordError.textContent = ''; passwordError.classList.remove('error-show'); return true; } } // 验证确认密码 function validateConfirmPassword() { const value = confirmPassword.value.trim(); if (value !== password.value.trim()) { confirmPasswordError.textContent = '两次输入的密码不一致'; confirmPasswordError.classList.add('error-show'); return false; } else { confirmPasswordError.textContent = ''; confirmPasswordError.classList.remove('error-show'); return true; } } // 验证姓名 function validateName() { const value = name.value.trim(); if (value.length === 0) { nameError.textContent = '请输入姓名'; nameError.classList.add('error-show'); return false; } else { nameError.textContent = ''; nameError.classList.remove('error-show'); return true; } } // 提交表单时验证所有数据是否合法 form.addEventListener('submit', function(e) { e.preventDefault(); if (validateUsername() && validatePassword() && validateConfirmPassword() && validateName()) { alert('表单提交成功!'); } }); ``` CSS代码: ``` .error-show { display: block; color: red; font-size: 12px; margin-top: 5px; } ```

相关推荐

最新推荐

recommend-type

JavaScript如何实现在文本框(密码框)输入提示语

为了更好的达到用户体验度,我们在登录表单时会有一些提示语言,比如说:“请输入用户名”和“请输入密码”等语言,下面小编通过本篇文章给大家分享JavaScript如何实现在密码框中出现提示语,对js密码框提示语相关...
recommend-type

基于React实现表单数据的添加和删除详解

主要给大家介绍了基于React实现表单数据的添加和删除的方法,文中给出了详细的示例供大家参考,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
recommend-type

layui表单验证select下拉框实现验证的方法

今天小编就为大家分享一篇layui表单验证select下拉框实现验证的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

微信小程序简单实现form表单获取输入数据功能示例

本文实例讲述了微信小程序简单实现form表单获取输入数据功能。分享给大家供大家参考,具体如下: 1、效果展示 2、关键代码 index.wxml &lt;form bindsubmit="formBindsubmit" bindreset="formReset"&gt; 用户名...
recommend-type

浅谈vue同一页面中拥有两个表单时,的验证问题

今天小编就为大家分享一篇浅谈vue同一页面中拥有两个表单时,的验证问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

中文翻译Introduction to Linear Algebra, 5th Edition 2.1节

中文翻译Introduction to Linear Algebra, 5th Edition 2.1节 线性代数的核心问题是求解方程组。这些方程都是线性的,即未知数仅与数相乘——我们绝不会 遇见 x 乘以 y。我们的第一个线性方程组较小。接下来你来看看它引申出多远: 两个方程 两个未知数 x − 2y = 1 3x + 2y = 11 (1) 我们一次从一个行开始。第一个方程 x − 2y = 1 得出了 xy 平面的一条直线。由于点 x = 1, y = 0 解 出该方程,因此它在这条直线上。因为 3 − 2 = 1,所以点 x = 3, y = 1 也在这条直线上。若我们选择 x = 101,那我们求出 y = 50。 这条特定直线的斜率是 12,是因为当 x 变化 2 时 y 增加 1。斜率在微积分中很重要,然而这是线 性代数! 图 2.1 将展示第一条直线 x − 2y = 1。此“行图”中的第二条直线来自第二个方程 3x + 2y = 11。你 不能错过两条线的交点 x = 3, y = 1。点 (3, 1) 位于两条线上并且解出两个方程。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

识别MATLAB微分方程求解中的混沌行为:分析非线性方程混沌行为的实用技巧

![matlab求解微分方程](https://img-blog.csdnimg.cn/2021062810300367.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTQ3OTY3OA==,size_16,color_FFFFFF,t_70) # 1. MATLAB微分方程求解概述 微分方程是描述物理、工程和金融等领域中动态系统的数学模型。MATLAB提供了强大的工具来求解微分方程,包括内置求解器和自定义函数
recommend-type

physon如何做ERP系统

作为一个AI语言模型,我可以给您提供一些基本的建议和思路: 1.明确需求和目标:在开始开发ERP系统之前,需要明确您的业务需求和目标,了解您的业务流程、流程数据、员工角色和权限、财务管理等方面的要求,这样才能更好的设计和开发ERP系统。 2.选择技术框架和开发工具:选择合适的技术框架和开发工具是ERP系统开发的关键。选择一种流行的技术框架和工具可以提高开发效率和质量。 3.设计数据库:ERP系统需要一个功能强大的数据库来存储数据。设计数据库需要考虑数据的完整性、安全性和可扩展性。 4.设计系统架构:系统架构是ERP系统的骨架,需要考虑系统的可扩展性、可维护性和性能。 5.开发和测试:
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。