JS+HTML5本地存储Localstorage实现注册登录及验证功能示例

下面是详细讲解:

本地存储(Local Storage)是一种非常有用的Web技术,可以将数据存储在用户的浏览器中。HTML5标准引入了Web Storage API,Local Storage就是其中一种常用的存储方式。在这里,我们将结合JavaScript和HTML5本地存储(Local Storage)实现一个简单的注册登录及验证功能示例。该示例可以帮助初学者理解Local Storage的应用。

第一步:创建HTML页面及CSS样式表

首先,我们需要创建以下HTML标签及CSS样式表。HTML标签包含一个表单(包含三个输入框)和按钮(注册/登录),CSS样式表用于美化页面。

<!DOCTYPE html>
<html>
  <head>
    <title>Local Storage 示例</title>
    <style>
    /* 定义样式 */
      form {
          margin: 10px;
      }
      input[type=text], input[type=password] {
          width: 100%;
          padding: 10px 20px;
          margin: 8px 0;
          box-sizing: border-box; /* 让padding和border包含在元素内 */
          border: 2px solid #ccc;
          border-radius: 4px; /* 圆角 */
          background-color: #f8f8f8;
      }
      button {
          background-color: #4CAF50;
          color: white;
          padding: 14px 20px; 
          margin: 8px 0;
          border: none;
          border-radius: 4px;
          cursor: pointer;
      }
      button:hover {
          background-color: #45a049;
      }

    </style>
  </head>
  <body>
    <h2>Registration & Login Example</h2>
    <form id="form" method="POST">
      <label for="username">Username</label>
      <input type="text" id="username" name="username" placeholder="Enter username" required>

      <label for="password">Password</label>
      <input type="password" id="password" name="password" placeholder="Enter password" required>

      <label for="confirm">Confirm Password</label>
      <input type="password" id="confirm" name="confirm" placeholder="Confirm password" required>

      <button type="button" onclick="submitForm()">Register / Login</button>
    </form>
    <div id="message"></div>
    <script src="localStorage.js"></script>
  </body>
</html>

第二步:编写JavaScript脚本保存用户注册信息

接下来,我们需要编写JavaScript脚本,以便将用户的注册信息保存在本地存储中。如果用户选择“注册”按钮,我们将验证所有输入是否有效,并将用户名和密码保存在本地存储中。本地存储使用键值对的方式来储存数据,我们将用户名作为键,密码作为值,这样我们便可以通过用户名来获取用户的密码。

以下是保存用户信息的JavaScript示例代码:

function submitForm() {
  // 获取输入框中的内容
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;
  var confirm = document.getElementById("confirm").value;

  // 验证输入是否有效
  if(username.trim() == '' || password.trim() == '' || confirm.trim() == '') {
    document.getElementById("message").innerHTML = "所有输入框均为必填项。";
    return;
  }
  if(password != confirm) {
    document.getElementById("message").innerHTML = "密码不匹配。";
    return;
  }

  // 将数据存储在本地存储中
  localStorage.setItem(username, password);
  document.getElementById("message").innerHTML = "用户 " + username + " 注册成功。";
}

以上代码的作用:

  • 获取文本框输入的值,验证其有效性,例如“所有输入框均为必填项,密码不匹配”。
  • 将用户名和密码作为键值对存储在本地存储(Local Storage)中。
  • 将用户注册成功的提示信息显示在页面上。

第三步:编写JavaScript脚本验证用户身份

最后,我们需要编写JavaScript脚本,以便验证用户是否已经注册,并且其密码是否正确。如果用户名和密码都存在于本地存储(Local Storage),我们将显示一个“登陆成功”的消息,否则将显示“用户名或密码错误”的错误消息。以下是示例代码:

function submitForm() {
  // 获取输入框中的内容
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;
  var confirm = document.getElementById("confirm").value;

  // 验证输入是否有效
  if(username.trim() == '' || password.trim() == '' || confirm.trim() == '') {
    document.getElementById("message").innerHTML = "所有输入框均为必填项。";
    return;
  }
  if(password != confirm) {
    document.getElementById("message").innerHTML = "密码不匹配。";
    return;
  }

  // 将数据存储在本地存储中
  localStorage.setItem(username, password);
  document.getElementById("message").innerHTML = "用户 " + username + " 注册成功。";
}

以上代码的作用:

  • 获取文本框输入框中的值,验证其有效性,例如“所有输入框均为必填项,密码不匹配”。
  • 检查本地存储(Local Storage)中是否存在键值对,其中键是用户名,值是密码。
  • 如果存在此键值对,则密码是否与输入匹配。
  • 将结果信息显示在页面上。

至此,我们已经完成了使用本地存储(Local Storage)实现注册登录及验证功能的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS+HTML5本地存储Localstorage实现注册登录及验证功能示例 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQWidgets jqxBarGauge render()方法

    jQWidgets jqxBarGauge render()方法详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图表单、历、菜单。jqBarGauge是jQWidgets中的一个组件,可以用于水平或垂直的条形图。jqBarGauge提供了render()`方法,用于渲染条形图。 render()方法的基本语法 …

    jquery 2023年5月9日
    00
  • jQWidgets jqxSortable opacity属性

    下面是关于jQWidgets jqxSortable opacity属性的详细讲解和两个示例说明。 jQWidgets jqxSortable opacity属性的介绍 jqxSortable是一个基于jQuery的可排序插件,它允许你通过鼠标拖动来重新排序列表中的项目。opacity是其自定义属性之一,它用来控制拖拽元素的透明度。当鼠标拖拽某个元素时,如果…

    jquery 2023年5月11日
    00
  • jQuery 如何建立一个简单的类似终端的网站

    要建立一个类似终端的网站,可以使用jQuery来处理用户输入和输出。以下是详细的攻略: HTML结构 首先,需要在HTML中创建一个文本和一个输出区域,于显示用户输入和输出。以下是一个例: <input type="text" id="input"> <div id="output&quot…

    jquery 2023年5月9日
    00
  • jQWidgets jqxPopover showCloseButton属性

    以下是关于 jQWidgets jqxPopover 组件中 showCloseButton 属性的详细攻略。 jQWidgets jqxPopover showCloseButton 属性 jQWidgets jqxPopover 组件的 showCloseButton 属性用于设置是否显示关闭按钮。 语法 $(‘#popover’).jqxPopover…

    jquery 2023年5月12日
    00
  • jQuery Mobile Listview filterReveal选项

    jQuery Mobile提供了一种方便快捷的方式对列表进行筛选,这就是filterReveal选项。本文将详细介绍如何使用filterReveal选项,包括如何在列表上添加搜索框,以及如何自定义筛选器。 一、filterReveal选项是什么? filterReveal选项是jQuery Mobile提供的一个列表筛选功能,它允许用户搜索列表项目并动态地显…

    jquery 2023年5月12日
    00
  • jquery简单实现外部链接用新窗口打开的方法

    下面是jquery实现外部链接用新窗口打开的方法的完整攻略: Step 1. 引入jquery库 在网页head标签中引入jquery库,比如: <head> <script src="//cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> </he…

    jquery 2023年5月28日
    00
  • jQWidgets jqxTooltip打开事件

    以下是关于 jQWidgets jqxTooltip 组件中打开事件的详细攻略。 jQWidgets jqxTooltip 打开事件 jQWidgets jqxTooltip 组件的打开事件用于在提示框打开时执行自定义操作。可以使用该事件来实现自定义的提示框行为。 语法 $(‘#tooltip’).on(‘open’, function (event) { …

    jquery 2023年5月11日
    00
  • jQWidgets jqxTagCloud showItem()方法

    我们来详细讲解一下 “jQWidgets jqxTagCloud showItem()方法” 的使用攻略。 什么是 jqxTagCloud 组件? jqxTagCloud 是 jQWidgets UI 库中提供的标签云组件,可以用于展示标签与其权重、词频之间的关系,支持多种标签布局方式,可高度定制化。 showItem() 方法的作用 showItem() …

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部