当前位置:首页 > JavaScript

js实现登录界面

2026-04-04 03:28:12JavaScript

登录界面实现步骤

HTML 结构 创建基本的表单结构,包含用户名、密码输入框和登录按钮。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录界面</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="login-container">
        <h1>用户登录</h1>
        <form id="loginForm">
            <div class="form-group">
                <label for="username">用户名</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" id="password" name="password" required>
            </div>
            <button type="submit">登录</button>
        </form>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS 样式 添加基本样式使界面美观。

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f9;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}

.login-container {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 300px;
}

h1 {
    text-align: center;
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 15px;
}

label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

button {
    width: 100%;
    padding: 10px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}

JavaScript 功能 实现表单提交和简单的验证逻辑。

document.getElementById('loginForm').addEventListener('submit', function(event) {
    event.preventDefault();

    const username = document.getElementById('username').value;
    const password = document.getElementById('password').value;

    if (username === '' || password === '') {
        alert('用户名和密码不能为空');
        return;
    }

    // 模拟登录验证
    if (username === 'admin' && password === 'password') {
        alert('登录成功');
        // 这里可以跳转到其他页面
        // window.location.href = 'dashboard.html';
    } else {
        alert('用户名或密码错误');
    }
});

功能扩展

本地存储验证 使用 localStorage 存储用户信息并验证。

// 存储用户信息(实际应用中应使用后端验证)
localStorage.setItem('storedUsername', 'admin');
localStorage.setItem('storedPassword', 'password');

document.getElementById('loginForm').addEventListener('submit', function(event) {
    event.preventDefault();

    const username = document.getElementById('username').value;
    const password = document.getElementById('password').value;
    const storedUsername = localStorage.getItem('storedUsername');
    const storedPassword = localStorage.getItem('storedPassword');

    if (username === storedUsername && password === storedPassword) {
        alert('登录成功');
    } else {
        alert('用户名或密码错误');
    }
});

密码可见性切换 添加切换密码可见性的功能。

js实现登录界面

<div class="form-group">
    <label for="password">密码</label>
    <input type="password" id="password" name="password" required>
    <button type="button" id="togglePassword">显示密码</button>
</div>
document.getElementById('togglePassword').addEventListener('click', function() {
    const passwordInput = document.getElementById('password');
    const button = document.getElementById('togglePassword');

    if (passwordInput.type === 'password') {
        passwordInput.type = 'text';
        button.textContent = '隐藏密码';
    } else {
        passwordInput.type = 'password';
        button.textContent = '显示密码';
    }
});

安全建议

  • 在实际项目中,避免在前端存储密码或敏感信息。
  • 使用 HTTPS 协议传输数据。
  • 后端应进行密码哈希处理(如 bcrypt)。
  • 添加验证码或限流机制防止暴力破解。

标签: 界面js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js实现弹框

js实现弹框

使用 alert 实现简单弹框 JavaScript 的 alert 方法可以直接显示一个简单的弹框,内容为纯文本: alert("这是一个简单的弹框"); 使用 confirm 实现确认弹框…