当前位置:首页 > JavaScript

js实现简单的登陆功能

2026-03-02 00:37:45JavaScript

实现登录功能的基本步骤

HTML部分需要创建表单,包含用户名和密码输入框以及提交按钮。

<!DOCTYPE html>
<html>
<head>
    <title>登录页面</title>
</head>
<body>
    <form id="loginForm">
        <div>
            <label for="username">用户名:</label>
            <input type="text" id="username" required>
        </div>
        <div>
            <label for="password">密码:</label>
            <input type="password" id="password" required>
        </div>
        <button type="submit">登录</button>
    </form>
    <div id="message"></div>
    <script src="login.js"></script>
</body>
</html>

JavaScript验证逻辑

创建login.js文件处理表单提交事件,验证输入并模拟登录过程。

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

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

    if (!username || !password) {
        messageElement.textContent = '用户名和密码不能为空';
        messageElement.style.color = 'red';
        return;
    }

    // 模拟验证逻辑
    if (username === 'admin' && password === '123456') {
        messageElement.textContent = '登录成功!';
        messageElement.style.color = 'green';
        // 实际项目中这里会跳转页面或设置登录状态
    } else {
        messageElement.textContent = '用户名或密码错误';
        messageElement.style.color = 'red';
    }
});

添加本地存储功能

可以使用localStorage保存登录状态,实现页面刷新后保持登录。

// 登录成功后保存状态
localStorage.setItem('isLoggedIn', 'true');
localStorage.setItem('username', username);

// 页面加载时检查登录状态
window.addEventListener('load', function() {
    if (localStorage.getItem('isLoggedIn') === 'true') {
        document.getElementById('loginForm').style.display = 'none';
        document.getElementById('message').textContent = 
            `欢迎回来, ${localStorage.getItem('username')}!`;
    }
});

添加密码显示切换功能

增强用户体验,添加密码可见性切换按钮。

<div>
    <label for="password">密码:</label>
    <input type="password" id="password" required>
    <button type="button" id="togglePassword">显示</button>
</div>
document.getElementById('togglePassword').addEventListener('click', function() {
    const passwordField = document.getElementById('password');
    const toggleButton = document.getElementById('togglePassword');

    if (passwordField.type === 'password') {
        passwordField.type = 'text';
        toggleButton.textContent = '隐藏';
    } else {
        passwordField.type = 'password';
        toggleButton.textContent = '显示';
    }
});

表单输入验证增强

添加更详细的输入验证,如长度限制和字符限制。

js实现简单的登陆功能

function validateInput(username, password) {
    const errors = [];

    if (username.length < 4) {
        errors.push('用户名至少需要4个字符');
    }

    if (password.length < 6) {
        errors.push('密码至少需要6个字符');
    }

    if (!/^[a-zA-Z0-9_]+$/.test(username)) {
        errors.push('用户名只能包含字母、数字和下划线');
    }

    return errors;
}

// 在提交处理函数中使用
const validationErrors = validateInput(username, password);
if (validationErrors.length > 0) {
    messageElement.textContent = validationErrors.join('\n');
    messageElement.style.color = 'red';
    return;
}

标签: 简单功能
分享给朋友:

相关文章

vue实现倍速播放功能

vue实现倍速播放功能

实现倍速播放功能的方法 在Vue中实现倍速播放功能通常涉及HTML5的<video>元素或第三方播放器库(如video.js)的API调用。以下是具体实现方式: 使用原生HTML5 vi…

uniapp实现选项卡功能

uniapp实现选项卡功能

实现选项卡功能的基本方法 在uniapp中实现选项卡功能通常需要使用uni-segmented-control组件或自定义样式结合swiper组件。以下是两种常见实现方式: 使用uni-se…

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…

vue实现弹窗功能

vue实现弹窗功能

实现基础弹窗组件 在Vue中创建弹窗通常需要定义一个组件,利用v-if或v-show控制显示隐藏。以下是一个基础弹窗组件的实现: <template> <div class="…

vue实现简单拖拽

vue实现简单拖拽

Vue 实现简单拖拽功能 在 Vue 中实现拖拽功能可以通过 HTML5 的拖放 API 或第三方库(如 vuedraggable)来完成。以下是两种常见的实现方式: 使用 HTML5 拖放 API…

vue实现目录功能

vue实现目录功能

Vue实现目录功能的方法 基于路由的目录结构 在Vue项目中,可以通过路由配置自动生成目录结构。使用vue-router的routes数组可以定义页面层级关系,结合递归组件渲染目录树。 // rou…