当前位置:首页 > 问答 > 正文

用JS编写网页实现用户名密码验证,网友热议光标离框自动提示错误

  • 问答
  • 2025-01-31 00:00:40
  • 49
  • 更新:2025-01-31 00:00:40

本文目录导读:

  1. HTML
  2. CSS (styles.css)
  3. 解释

实现一个基本的用户名和密码验证功能,并在用户离开输入框时自动提示错误,可以使用HTML、CSS和JavaScript来完成,以下是一个简单的示例代码:

HTML

<!DOCTYPE html>
<html lang="zh-CN">
<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">
        <h2>登录</h2>
        <form id="loginForm">
            <div class="input-group">
                <label for="username">用户名:</label>
                <input type="text" id="username" name="username" required>
                <span class="error-message" id="usernameError"></span>
            </div>
            <div class="input-group">
                <label for="password">密码:</label>
                <input type="password" id="password" name="password" required>
                <span class="error-message" id="passwordError"></span>
            </div>
            <button type="submit">登录</button>
        </form>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS (styles.css)

body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}
.login-container {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width: 300px;
}
.input-group {
    margin-bottom: 15px;
}
label {
    display: block;
    margin-bottom: 5px;
}
input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
}
.error-message {
    color: red;
    font-size: 12px;
    display: none;
}

JavaScript (script.js)

用JS编写网页实现用户名密码验证,网友热议光标离框自动提示错误

document.addEventListener('DOMContentLoaded', () => {
    const usernameInput = document.getElementById('username');
    const passwordInput = document.getElementById('password');
    const usernameError = document.getElementById('usernameError');
    const passwordError = document.getElementById('passwordError');
    const validateUsername = (value) => {
        if (value.trim() === '') {
            usernameError.textContent = '用户名不能为空';
            return false;
        }
        if (value.length < 4) {
            usernameError.textContent = '用户名长度不能少于4个字符';
            return false;
        }
        usernameError.style.display = 'none';
        return true;
    };
    const validatePassword = (value) => {
        if (value.trim() === '') {
            passwordError.textContent = '密码不能为空';
            return false;
        }
        if (value.length < 6) {
            passwordError.textContent = '密码长度不能少于6个字符';
            return false;
        }
        passwordError.style.display = 'none';
        return true;
    };
    usernameInput.addEventListener('blur', () => {
        validateUsername(usernameInput.value);
    });
    passwordInput.addEventListener('blur', () => {
        validatePassword(passwordInput.value);
    });
    document.getElementById('loginForm').addEventListener('submit', (event) => {
        event.preventDefault();
        if (!validateUsername(usernameInput.value) || !validatePassword(passwordInput.value)) {
            alert('请检查表单中的错误');
        } else {
            alert('登录成功');
            // 在这里可以添加实际的登录逻辑,比如发送请求到服务器
        }
    });
});

解释

1、HTML:创建了一个简单的登录表单,包括用户名和密码输入框,以及错误消息显示区域。

2、CSS:为表单和错误消息添加了一些基本的样式。

3、JavaScript

- 添加了事件监听器,当输入框失去焦点(blur事件)时,验证输入内容。

- 定义了验证函数,检查输入内容是否符合要求,并在不符合要求时显示错误消息。

- 在表单提交时,阻止默认提交行为,并检查所有输入是否有效。

这个示例展示了如何在用户离开输入框时自动提示错误,并处理表单提交时的验证逻辑,你可以根据需要进一步扩展和修改这个示例。