开发一个美观大方的修改密码表单界面,包含3个表单项:旧密码、新密码和确认密码,监听表单提交事件,当表单提交时完成如下3种检查 1.要求输入的旧密码字符个数必须大于6个字符小于12个字符,否则在旧密码输入框的后面以红色字体提示“旧密码长度有误”; 2.要求输入的新密码和确认密码相同,否则在确认密码的下面以红色字体显示“新密码与确认密码不一致”; 3.新密码里必须包含数字、字母和特殊符号,否则在新密码输入框后面提示“必须包含数字、字母和特殊符号”。
时间: 2024-01-22 15:18:37 浏览: 50
基于vue+elementplus实现动态表单组件,通过拖拽组件到面板即可实现一个表单
以下是一个简单的修改密码表单界面的示例代码,实现了上述要求:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改密码</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f2f2f2;
}
h1 {
text-align: center;
color: #555;
}
form {
max-width: 500px;
margin: 0 auto;
background-color: #fff;
padding: 20px;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
label {
display: block;
margin-bottom: 10px;
color: #555;
font-weight: bold;
}
input[type="password"] {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 3px;
box-sizing: border-box;
margin-bottom: 20px;
font-size: 16px;
}
input[type="submit"] {
background-color: #4CAF50;
color: #fff;
padding: 10px 20px;
border: none;
border-radius: 3px;
cursor: pointer;
font-size: 16px;
}
.error {
color: red;
font-size: 14px;
margin-top: 5px;
}
</style>
</head>
<body>
<h1>修改密码</h1>
<form id="password-form" action="#" method="post">
<label for="old-password">旧密码:</label>
<input type="password" id="old-password" name="old-password" required>
<div id="old-password-error" class="error"></div>
<label for="new-password">新密码:</label>
<input type="password" id="new-password" name="new-password" required>
<div id="new-password-error" class="error"></div>
<label for="confirm-password">确认密码:</label>
<input type="password" id="confirm-password" name="confirm-password" required>
<div id="confirm-password-error" class="error"></div>
<input type="submit" value="提交">
</form>
<script>
var form = document.getElementById("password-form");
var oldPassword = document.getElementById("old-password");
var newPassword = document.getElementById("new-password");
var confirmPassword = document.getElementById("confirm-password");
var oldPasswordError = document.getElementById("old-password-error");
var newPasswordError = document.getElementById("new-password-error");
var confirmPasswordError = document.getElementById("confirm-password-error");
form.addEventListener("submit", function(event) {
var oldPasswordValue = oldPassword.value;
var newPasswordValue = newPassword.value;
var confirmPasswordValue = confirmPassword.value;
// 检查旧密码长度
if (oldPasswordValue.length < 6 || oldPasswordValue.length > 12) {
event.preventDefault();
oldPasswordError.textContent = "旧密码长度有误";
} else {
oldPasswordError.textContent = "";
}
// 检查新密码和确认密码是否一致
if (newPasswordValue !== confirmPasswordValue) {
event.preventDefault();
confirmPasswordError.textContent = "新密码与确认密码不一致";
} else {
confirmPasswordError.textContent = "";
}
// 检查新密码是否包含数字、字母和特殊符号
var pattern = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[\W\_])[a-zA-Z0-9\W\_]{8,}$/;
if (!pattern.test(newPasswordValue)) {
event.preventDefault();
newPasswordError.textContent = "必须包含数字、字母和特殊符号";
} else {
newPasswordError.textContent = "";
}
});
</script>
</body>
</html>
```
在上述代码中,使用了HTML、CSS和JavaScript来实现表单界面和表单验证逻辑。其中,`<label>`标签用于描述表单项,`<input>`标签用于输入用户的密码,`<div>`标签用于显示错误提示信息。JavaScript代码监听表单的提交事件,对旧密码长度、新密码和确认密码是否一致、新密码是否符合要求进行检查,并在需要时显示错误提示信息。
阅读全文