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 会依次验证每个输入框中的内容,并在有错误时阻止表单的提交并展示相应的错误提示信息。