html注册页面实现js验证用户信息并返回的特效,用户信息包括:用户名6到16位字母,数字,密码8到16位字母,数字,密码确认,生日按照生日格式,邮箱,手机号

时间: 2024-01-03 20:03:43 浏览: 24
下面是一个实现了用户信息验证并返回的特效的 HTML 注册页面示例: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>注册页面</title> <style> .error { color: red; } </style> </head> <body> <h1>注册页面</h1> <form id="register-form" action="register.php" method="post"> <div> <label for="username">用户名:</label> <input type="text" id="username" name="username" required> <span class="error" id="username-error"></span> </div> <div> <label for="password">密码:</label> <input type="password" id="password" name="password" required> <span class="error" id="password-error"></span> </div> <div> <label for="confirm-password">确认密码:</label> <input type="password" id="confirm-password" name="confirm-password" required> <span class="error" id="confirm-password-error"></span> </div> <div> <label for="birthday">生日:</label> <input type="text" id="birthday" name="birthday" placeholder="例如:1990-01-01" required> <span class="error" id="birthday-error"></span> </div> <div> <label for="email">邮箱:</label> <input type="email" id="email" name="email" required> <span class="error" id="email-error"></span> </div> <div> <label for="phone">手机号:</label> <input type="text" id="phone" name="phone" placeholder="11位数字" required> <span class="error" id="phone-error"></span> </div> <div> <input type="submit" value="注册"> </div> </form> <script> var form = document.getElementById('register-form'); var username = document.getElementById('username'); var password = document.getElementById('password'); var confirmPassword = document.getElementById('confirm-password'); var birthday = document.getElementById('birthday'); var email = document.getElementById('email'); var phone = document.getElementById('phone'); var usernameError = document.getElementById('username-error'); var passwordError = document.getElementById('password-error'); var confirmPasswordError = document.getElementById('confirm-password-error'); var birthdayError = document.getElementById('birthday-error'); var emailError = document.getElementById('email-error'); var phoneError = document.getElementById('phone-error'); form.addEventListener('submit', function(event) { // 验证用户名 if (!/^[a-zA-Z0-9]{6,16}$/.test(username.value)) { usernameError.textContent = '用户名必须为6-16位字母或数字'; event.preventDefault(); } else { usernameError.textContent = ''; } // 验证密码 if (!/^[a-zA-Z0-9]{8,16}$/.test(password.value)) { passwordError.textContent = '密码必须为8-16位字母或数字'; event.preventDefault(); } else { passwordError.textContent = ''; } // 验证确认密码 if (confirmPassword.value !== password.value) { confirmPasswordError.textContent = '两次输入的密码不一致'; event.preventDefault(); } else { confirmPasswordError.textContent = ''; } // 验证生日 if (!/^\d{4}-\d{2}-\d{2}$/.test(birthday.value)) { birthdayError.textContent = '生日格式不正确,应为yyyy-mm-dd'; event.preventDefault(); } else { birthdayError.textContent = ''; } // 验证邮箱 if (!/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(email.value)) { emailError.textContent = '邮箱格式不正确'; event.preventDefault(); } else { emailError.textContent = ''; } // 验证手机号 if (!/^\d{11}$/.test(phone.value)) { phoneError.textContent = '手机号必须为11位数字'; event.preventDefault(); } else { phoneError.textContent = ''; } }); </script> </body> </html> ``` 该示例中使用了 `required` 属性来标识必填项,使用了 JavaScript 验证用户输入的合法性,并在每个输入框下方添加了一个用于展示错误提示信息的 `span` 元素。当用户提交表单时,JavaScript 会依次验证每个输入框中的内容,并在有错误时阻止表单的提交并展示相应的错误提示信息。

最新推荐

recommend-type

组成原理课程实验:MIPS 流水线CPU、实现36条指令、转发、冒险检测-内含源码和说明书.zip

组成原理课程实验:MIPS 流水线CPU、实现36条指令、转发、冒险检测-内含源码和说明书.zip
recommend-type

setuptools-50.0.2-py3-none-any.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

setuptools-1.1.6.tar.gz

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

CEA二次开发脚本:用于ECSP配比设计

CEA二次开发脚本:用于ECSP配比设计
recommend-type

环形数组是一种特殊的数据结构

环形数组
recommend-type

zigbee-cluster-library-specification

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

管理建模和仿真的文件

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

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。