# 小程序登录验证功能实现


背景介绍

本项目旨在实现一个用户登录验证功能,用于记录用户的登录状态。通过用户输入用户名和密码,系统将验证登录有效性,并记录验证结果。该功能需要独立运行,使用HTML、CSS和JavaScript实现,同时支持文件操作以存储验证结果。

思路分析

  1. 数据结构选择
    根据验证逻辑,可使用数组或对象来记录验证结果。例如,使用数组存储验证状态,或记录用户登录的详细信息,以提高数据的可读性和扩展性。

  2. 验证逻辑设计

    • 输入验证:检查用户名和密码的合法性,包括大小、字符类型等。
    • 输出结果:根据验证结果返回”登录成功”或”密码错误”的提示信息。

代码实现

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>用户登录验证功能</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      text-align: center;
      background-color: #f4f4f4;
    }
    h1 {
      color: #333;
    }
    #result {
      margin-top: 20px;
      font-size: 18px;
    }
  </style>
</head>
<body>

  <h1>用户登录验证功能</h1>

  <form id="loginForm">
    <label for="username">用户名:</label>
    <input type="text" id="username" placeholder="输入用户名" required><br>

    <label for="password">密码:</label>
    <input type="password" id="password" placeholder="输入密码" required><br>

    <button type="submit">登录</button>
  </form>

  <div id="result"></div>

  <script>
    let loginResults = [];

    function validateLogin(username, password) {
      // 检查用户名和密码的合法性
      if (username.trim() === "" || password.trim() === "") {
        return "密码为空,请填写";
      }
      if (!/^[a-z]+$/.test(username)) {
        return "用户名必须为字母";
      }
      if (!/^[0-9]+$/.test(password)) {
        return "密码必须为数字";
      }
      return "登录成功";
    }

    function saveToLocalStorage(data) {
      if (localStorage.getItem("loginResults")) {
        loginResults = JSON.parse(localStorage.getItem("loginResults"));
      }
      localStorage.setItem("loginResults", JSON.stringify(loginResults));
    }

    function getLoginResult() {
      const result = localStorage.getItem("loginResults");
      if (result) {
        document.getElementById("result").innerHTML = result;
      } else {
        document.getElementById("result").innerHTML = "登录成功";
      }
    }

    document.getElementById("loginForm").addEventListener("submit", function(e) {
      e.preventDefault();
      const username = document.getElementById("username").value;
      const password = document.getElementById("password").value;

      const result = validateLogin(username, password);
      saveToLocalStorage(result);
      getLoginResult();
    });
  </script>

</body>
</html>

总结

本项目实现了用户登录验证功能,通过HTML、CSS和JavaScript实现验证逻辑,支持文件操作以记录验证结果。代码中使用了数组存储验证结果,并通过JavaScript实现验证逻辑的封装。该功能能够帮助用户记录登录状态,支持后续的维护和扩展,体现了文件操作的知识点。