如何为密码保护的网页设置多个密码(HTML/JS)

来源:个人站长网作者:新加坡程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《如何为密码保护的网页设置多个密码(HTML/JS)》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何为密码保护的网页设置多个密码(HTML/JS)》有用,将其分享出去将是对创作者最好的鼓励。

在不需要后端支持的场景下,我们可以通过HTML搭建密码输入界面,结合JavaScript实现多密码验证逻辑,让同一个网页支持多个不同的合法密码访问。

如何为密码保护的网页设置多个密码(HTML/JS)

实现基础密码输入页面

首先我们需要搭建一个简单的密码输入界面,包含输入框、提交按钮和提示区域,核心结构如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>多密码保护页面</title>
    <style>
        .container {
            width: 300px;
            margin: 100px auto;
            text-align: center;
        }
        input {
            width: 200px;
            height: 30px;
            margin: 10px 0;
            padding: 0 10px;
        }
        button {
            width: 220px;
            height: 35px;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        .tip {
            color: red;
            margin-top: 10px;
            height: 20px;
        }
    </style>
</head>
<body>
    <div class="container" id="loginBox">
        <h3>请输入访问密码</h3>
        <input type="password" id="passwordInput" placeholder="请输入密码">
        <button onclick="checkPassword()">确认</button>
        <div class="tip" id="tipText"></div>
    </div>
    <div class="container" id="contentBox" style="display: none;">
        <h3>欢迎访问受保护内容</h3>
        <p>这里是只有输入正确密码才能看到的内容</p>
    </div>
</body>
</html>

多密码存储与校验逻辑

接下来我们需要定义合法的密码列表,然后编写校验函数,判断用户输入的密码是否在合法列表中。我们可以把合法密码存储在一个数组里,校验时遍历数组匹配即可:

// 定义多个合法密码,可根据需求增减
const validPasswords = ['pass123', 'test456', 'admin789'];

function checkPassword() {
    // 获取输入框的值
    const inputPwd = document.getElementById('passwordInput').value;
    const tipElement = document.getElementById('tipText');
    const loginBox = document.getElementById('loginBox');
    const contentBox = document.getElementById('contentBox');

    // 判断输入密码是否为空
    if (!inputPwd) {
        tipElement.textContent = '请输入密码';
        return;
    }

    // 遍历合法密码数组,判断是否存在匹配项
    let isMatch = false;
    for (let i = 0; i < validPasswords.length; i++) {
        if (inputPwd === validPasswords[i]) {
            isMatch = true;
            break;
        }
    }

    // 根据匹配结果执行对应操作
    if (isMatch) {
        // 密码正确,隐藏登录框,显示内容区
        loginBox.style.display = 'none';
        contentBox.style.display = 'block';
    } else {
        tipElement.textContent = '密码错误,请重新输入';
        // 清空输入框
        document.getElementById('passwordInput').value = '';
    }
}

优化校验体验

我们可以给密码输入框添加回车触发校验的功能,提升用户使用体验,添加如下JavaScript代码即可:

// 监听输入框的回车事件
document.getElementById('passwordInput').addEventListener('keydown', function(event) {
    if (event.key === 'Enter') {
        checkPassword();
    }
});

注意事项

  • 这种纯前端的密码保护方案安全性很低,密码会直接暴露在HTML和JS代码中,任何人查看页面源码都能获取所有合法密码,仅适合用于非敏感的内部测试、私人简单页面等场景。
  • 如果需要更高的安全性,建议搭配后端验证,密码不要存储在前端代码中,而是通过后端接口校验。
  • 合法密码数组如果需要动态修改,纯前端方案无法实现持久化,每次页面刷新都会恢复初始设置,有动态修改需求也需要后端支持。

HTMLJavaScript密码验证多密码设置前端安全修改时间:2026-07-12 15:45:25

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。