用js写一个注册页面附带校验
时间: 2024-01-04 19:02:26 浏览: 30
好的,下面是一个简单的注册页面,附带校验功能:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
<style>
form {
width: 300px;
margin: 50px auto;
text-align: center;
}
input[type="text"], input[type="password"] {
padding: 10px;
margin-bottom: 20px;
border-radius: 5px;
border: 1px solid #ccc;
width: 100%;
box-sizing: border-box;
}
input[type="submit"] {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
}
input[type="submit"]:hover {
background-color: #3e8e41;
}
.error-message {
color: #f00;
margin-bottom: 10px;
}
</style>
</head>
<body>
<form id="register-form">
<h2>注册</h2>
<input type="text" id="username" placeholder="用户名">
<input type="password" id="password" placeholder="密码">
<input type="password" id="confirm-password" placeholder="确认密码">
<input type="submit" value="注册">
<div id="error-message"></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 errorMessage = document.getElementById('error-message');
form.addEventListener('submit', function(event) {
event.preventDefault(); // 阻止默认提交行为
// 校验用户名
if (!username.value) {
errorMessage.innerText = '用户名不能为空';
return;
}
// 校验密码
if (!password.value) {
errorMessage.innerText = '密码不能为空';
return;
}
if (password.value.length < 6) {
errorMessage.innerText = '密码长度不能少于6位';
return;
}
// 校验确认密码
if (!confirmPassword.value) {
errorMessage.innerText = '确认密码不能为空';
return;
}
if (password.value !== confirmPassword.value) {
errorMessage.innerText = '两次输入的密码不一致';
return;
}
// 提交表单
form.submit();
});
</script>
</body>
</html>
```
这个页面包括一个用户名输入框、一个密码输入框、一个确认密码输入框和一个提交按钮。当用户点击提交按钮时,会触发一个 `submit` 事件,我们在事件处理函数中对用户输入的内容进行校验,如果有错误就显示错误信息,否则就提交表单。校验的规则包括:
- 用户名不能为空
- 密码不能为空,且长度不能少于6位
- 确认密码不能为空,且必须和密码一致
校验的结果会显示在页面上方的一个红色提示框中。如果所有校验都通过,就会提交表单,并跳转到注册成功页面。