修改密码html模板

页面布局:
页面由两个主要部分组成:修改密码表单和注意事项提示。
修改密码表单位于左侧,占据了较大的空间;注意事项提示位于右侧,占据较小的空间。
修改密码表单:
包含三个输入字段:当前密码、新密码和确认新密码。
每个密码输入框旁边都有一个🔒图标按钮,用于切换密码显示状态(显示/隐藏密码)。
注意事项提示:
列出了密码设置的基本规则和注意事项,例如密码长度要求、密码复杂度等。
这些提示帮助用户了解如何设置一个安全的新密码。
模态窗口:
当用户尝试提交表单时,会显示一个模态窗口反馈结果。
如果密码不符合要求或输入不完整,将显示错误消息。
如果密码修改成功,则会显示成功消息。
表单验证:
JavaScript代码阻止用户提交空密码或不一致的新密码。
当用户提交表单时,如果发现密码输入有问题,会在模态窗口中显示相应的错误消息。
成功修改密码后,表单会被重置。
用户体验细节:
密码输入框支持实时显示和隐藏密码的功能,增强用户体验。
禁止通过Ctrl+C和Ctrl+V粘贴或复制密码输入框中的内容,以提高安全性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>修改密码</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f9f9f9;
            margin: 0;
            user-select:none;
            padding: 20px;
        }
        .container {
            display: flex;
            gap: 20px;
        }
        .card {
            border: 1px solid #007bff;
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            box-sizing: border-box;
            position: relative;
        }
        .card-content {
            padding: 30px;
        }
        h2 {
            margin-top: 0;
            color: #333;
            font-size: 26px;
            text-align: center;
        }
        .form-group {
            position: relative;
            margin-bottom: 20px;
        }
        label {
            display: block;
            margin-bottom: 10px;
            color: #555;
            font-size: 16px;
        }
        input[type="password"],
        input[type="text"] {
            width: 100%;
            padding: 12px; 
            border: 1px solid #ddd;
            border-radius: 50px;
            font-size: 16px;
            box-sizing: border-box;
            transition: border-color 0.3s;
            height: 40px; 
        }
        input[type="password"]:focus,
        input[type="text"]:focus {
            border-color: #007bff;
            outline: none;
        }
        button {
            background-color: #e0f0ff;
            color: #000;
            border: 1px solid #007bff;
            padding: 12px;
            font-weight: bold;
            border-radius: 50px;
            cursor: pointer;
            font-size: 16px;
            width: 100%;
        }
        button:hover {
            background-color: #87C4ED;
        }
        .note {
            font-size: 16px;
            color: #666;
            padding: 30px;
        }
        .note ul {
            padding-left: 0;
            list-style-type: none;
        }
        .note li {
            margin-bottom: 15px;
        }
        .card.modify-password {
            flex: 7;
        }
        .card.note {
            flex: 3;
        }
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            align-items: center;
            justify-content: center;
        }
        .modal-content {
            background: #fff;
            border-radius: 8px;
            border: 1px solid #007bff;
            padding: 30px;
            text-align: center;
            max-width: 400px;
            width: 100%;
            height: 150px; 
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .modal-content h3 {
            margin: 0;
        }
        .toggle-password {
            position: absolute;
            right: 10px;
            top: 70%;
            transform: translateY(-50%);
            cursor: pointer;
            user-select: none;
            font-size: 26px;
            color: #555;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="card modify-password">
            <div class="card-content">
                <h2>修改密码</h2>
                <form id="password-form">
                    <div class="form-group">
                        <label for="current-password">当前密码</label>
                        <input type="password" id="current-password" name="current-password" maxlength="20">
                        <span class="toggle-password" data-target="current-password">🔒</span>
                    </div>
                    <div class="form-group">
                        <label for="new-password">新密码</label>
                        <input type="password" id="new-password" name="new-password" maxlength="20">
                        <span class="toggle-password" data-target="new-password">🔒</span>
                    </div>
                    <div class="form-group">
                        <label for="confirm-password">确认新密码</label>
                        <input type="password" id="confirm-password" name="confirm-password" maxlength="20">
                        <span class="toggle-password" data-target="confirm-password">🔒</span>
                    </div>
                    <button type="submit">提交</button>
                </form>
            </div>
        </div>
        <div class="card note">
            <div class="card-content note">
                <h2>注意事项</h2>
                <ul>
                    <li>确保输入正确的当前密码。如果不正确,系统将无法验证你身份。</li>
                    <li>设置一个强密码,通常需要包含大写字母、小写字母、数字和特殊字符,长度最好在8位以上。</li>
                    <li>在“确认新密码”字段中重复输入新密码,以确保两次输入一致。</li>
                    <li>系统可能会提供实时反馈,例如新密码和确认密码是否一致,注意这些提示来调整密码设置。</li>
                    <li>在提交修改前,确认所有信息输入正确,以避免误操作。</li>
                </ul>
            </div>
        </div>
    </div>

    <div class="modal" id="modal">
        <div class="modal-content">
            <h3 id="modal-message"></h3>
        </div>
    </div>

<script>
        document.getElementById('password-form').addEventListener('submit', function(event) {
            event.preventDefault();
            const currentPassword = document.getElementById('current-password').value;
            const newPassword = document.getElementById('new-password').value;
            const confirmPassword = document.getElementById('confirm-password').value;
            const modal = document.getElementById('modal');
            const modalMessage = document.getElementById('modal-message');
            if (!currentPassword || !newPassword || !confirmPassword) {
                modalMessage.textContent = '密码填写不完整,请检查所有字段。';
                modal.style.display = 'flex';
                setTimeout(() => {
                    modal.style.display = 'none';
                }, 3000);
                return;
            }
            if (newPassword !== confirmPassword) {
                modalMessage.textContent = '新密码与确认密码不匹配。';
                modal.style.display = 'flex';
                setTimeout(() => {
                    modal.style.display = 'none';
                }, 3000);
                return;
            }
            modalMessage.textContent = '密码修改成功!';
            modal.style.display = 'flex';
            setTimeout(() => {
                modal.style.display = 'none';
                document.getElementById('password-form').reset();
            }, 3000);
        });
        document.querySelectorAll('.toggle-password').forEach(toggle => {
            toggle.addEventListener('click', function() {
                const targetId = this.getAttribute('data-target');
                const targetInput = document.getElementById(targetId);
                if (targetInput.type === 'password') {
                    targetInput.type = 'text';
                    this.textContent = '🔓'; 
                } else {
                    targetInput.type = 'password';
                    this.textContent = '🔒';
                }
                targetInput.addEventListener('input', function(event) {
                    const regex = /[\u4e00-\u9fa5]/;
                    const value = this.value;

                    if (regex.test(value)) {
                        this.value = value.replace(regex, '');
                    }
                });
                targetInput.addEventListener('keydown', function(event) {
                    if (event.ctrlKey && event.key === 'v') {
                        event.preventDefault(); 
                    }
                    if (event.ctrlKey && event.key === 'c') {
                        event.preventDefault(); 
                    }
                });
            });
        });
        document.querySelectorAll('input[type="password"], input[type="text"]').forEach(input => {
            input.addEventListener('keydown', function(event) {
                if (event.ctrlKey && event.key === 'v') {
                    event.preventDefault(); 
                }
                if (event.ctrlKey && event.key === 'c') {
                    event.preventDefault(); 
                }
            });
        });
    </script>
</body>
</html>
  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML中创建一个密码修改模板,通常涉及到表单元素的设计,包括输入框(让用户输入旧密码和新密码),提交按钮,以及可能的错误提示。以下是一个简单的密码修改表单的HTML代码示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Password Reset Form</title> </head> <body> <h2>Reset Password</h2> <form id="reset-password" action="/api/password-reset" method="POST"> <div class="form-group"> <label for="old-password">Old Password:</label> <input type="password" id="old-password" name="old_password" required> <span class="error-message hidden">Invalid old password</span> </div> <div class="form-group"> <label for="new-password">New Password:</label> <input type="password" id="new-password" name="new_password" required> <span class="error-message hidden">Password is too short</span> </div> <div class="form-group"> <label for="confirm-password">Confirm Password:</label> <input type="password" id="confirm-password" name="confirm_password" required> <span class="error-message hidden">Passwords do not match</span> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> <script> // Add client-side validation using JavaScript (not shown) </script> </body> </html> ``` 在这个例子中: - `<form>`标签定义了表单,`action`属性指定了密码修改的后端处理地址,`method="POST"`表示使用HTTP POST方法发送数据。 - `input`标签用于密码输入,`type="password"`隐藏输入内容,`required`属性确保用户输入不为空。 - `.error-message`和`.hidden`用于显示和隐藏错误信息。 - `button`标签定义提交按钮。 相关问题: 1. 如何在服务器端验证密码? 2. 是否需要在前端进行密码强度检查? 3. 如何处理用户成功或失败的密码修改请求?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值