返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js实现本地持久化存储登录注册
  • 667
分享到

js实现本地持久化存储登录注册

2024-04-02 19:04:59 667人浏览 八月长安
摘要

本文实例为大家分享了js实现本地持久化存储登录注册的具体代码,供大家参考,具体内容如下 1.登录html文件 <!DOCTYPE html> <html lang

本文实例为大家分享了js实现本地持久化存储登录注册的具体代码,供大家参考,具体内容如下

1.登录html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录界面</title>
    <style>
        .container {
            text-align: center;
            margin: 50px auto;
            width: 600px;
            height: 400px;
            background-color: rgb(201, 208, 247);
            box-sizing: border-box;
            padding-top: 20px;
        }
        .container input {
            width: 400px;
            height: 30px;
            border: none;
            list-style: none;
        }
        .container .btn {
            width: 404px;
            height: 35px;
            margin-top: 10px;
            border: none;
            background-color: deepskyblue;
            color: white;
            border-radius: 5px;
            cursor: pointer;
        }
        .container .text {
            margin-top: 10px;
            height: 20px;
            width: 400px;
            font-size: 12px;
            color: tomato;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>登录界面</h2>
        <input type="text" name="loginId" placeholder="登录账号">
        <div class="text  loginIdText"></div>
        <input type="passWord" name="loginPassword" placeholder="登录密码">
        <div class="text loginPasswordText"></div>
        <input class="btn loginBtn" type="submit" value="登录">
        <input class="btn reGISterBtn" type="submit" value="注册">
    </div>
    <script src="js/login.js"></script>
</body>
</html>

2.注册html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>注册界面</title>
    <style>
        .container{
            text-align: center;
            margin: 50px auto;
            width: 600px;
            height: 400px;
            background-color: rgb(201, 208, 247);
            box-sizing: border-box;
            padding-top: 20px;
        }
        .container input{
            width: 400px;
            height: 30px;
            border: none;
            list-style: none;
        }
        .container .btn{
            width: 404px;
            height: 35px;
            margin-top: 10px;
            border: none;
            background-color: deepskyblue;
            color: white;
            border-radius: 5px;
            cursor: pointer;
        }
        .container .text{
            margin-top: 10px;
            height: 20px;
            width: 400px;
            font-size: 12px;
            color: tomato;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>注册界面</h2>
        <input type="text" name="registerId" placeholder="设置账号">
        <div class="text registerIdText"></div>
        <input type="password" name="registerPassword" placeholder="设置密码">
        <div class="text registerPasswordText" ></div>
        <input class="btn" type="submit" value="注册">
        <input class="btn toLoginBtn" type="button" value="返回登录">
    </div>
    <script src="js/register.js"></script>
</body>
</html>

3.登录界面js文件

const isHaveId = () => {
    let loginId = loginIdEle.value
    //遍历存储的信息,如果有id相同的则返回true
    let idHave=message.some(item => loginId == item.id)
    //如果结果为true,显示内容为空,否则,显示账号不存在
    if (idHave==true) {
        loginIdText.innerHTML = ''
        return true
    } else {
        loginIdText.innerHTML = '账号不存在!'
        return false
    }
}
//验证密码
const isHavePassword = () => {
    let loginPassword = loginPasswordEle.value
    let passwordHave=message.some(item =>loginPassword == item.password )
        if (passwordHave==false) {
            loginPasswordText.innerHTML = '密码错误!'
            return false
        } else {
            loginPasswordText.innerHTML = ''
            return true
        }
}
//点击事件
loginBtn.onclick = function () {
    let isEmptyChecjedId = emptyChecjedId()
    let isEmptyChecjedPassword = emptyChecjedPassword()
    if (!isEmptyChecjedId || !isEmptyChecjedPassword) {
        return
    }
    let idHave = isHaveId()
    let passwordHave = isHavePassword()
 
    if (!idHave ||!passwordHave ) {
        return
    }
    alert('登录成功!')
    loginIdEle.value = ''
    loginPasswordEle.value = ''
}
 
//焦点事件
loginIdEle.addEventListener('blur', function () {
    let isEmptyChecjedId = emptyChecjedId()
    if (!isEmptyChecjedId) {
        return
    }
    isHaveId()
 
})
//密码焦点事件
loginPasswordEle.addEventListener('blur', function () {
    let isEmptyChecjedPassword = emptyChecjedPassword()
    //如果为空,则不进行强度验证,不为空时,再进行强度验证
    if (!isEmptyChecjedPassword) {
        return
    }
    isHavePassword()
})
//点击注册跳转到注册界面
function toRegister() {
    const toRegisterEle = document.querySelector('.registerBtn')
    toRegisterEle.onclick = function () {
        location.href = './register.html'
    }
}
toRegister()

4.注册界面js文件

//获取节点
const registerIdEle = document.querySelector('input[name="registerId"]')
const registerPasswordEle = document.querySelector('input[name="registerPassword"]')
const registerBtnEle = document.querySelector('.btn')
const registerIdText=document.querySelector('.registerIdText')
const registerPasswordText=document.querySelector('.registerPasswordText')
//账号非空验证
const emptyChecjedId = () => {
    //获取节点内容
    let registerId = registerIdEle.value
    if (registerId == '') {
        registerIdText.innerHTML = '用户名不能为空!'
        return false
    } else {
        registerIdText.innerHTML = ''
        return true
    }
}
//密码非空验证
const emptyChecjedPassword=()=>{
    let registerPassword = registerPasswordEle.value
    if(registerPassword==''){
        registerPasswordText.innerHTML='密码不能为空!'
        return false
    }else{
        registerPasswordText.innerHTML=''
        return true
    }
}
 
//密码强度验证
const passwordDegree = () => {
    let password = registerPasswordEle.value
    let reg = /^[A-Z][0-9a-zA-Z]{7}/
    if (!reg.test(password)) {
        registerPasswordText.innerHTML = '密码必须以大写字母开头,至少8位字母或数字!'
        return false
    } else {
        registerPasswordText.innerHTML = ''
        return true
    }
}
//点击事件
registerBtnEle.onclick=function(){
    let isEmptyChecjedId=emptyChecjedId()
    let isEmptyChecjedPassword=emptyChecjedPassword()
    if(!isEmptyChecjedId||!isEmptyChecjedPassword){
        return
    }
    //密码强度
    let isPasswordDegree=passwordDegree()
    if(!isPasswordDegree){
        return
    }
    alert('注册成功!')
    //将数据持久化存储
    let message={
        id:registerIdEle.value,
        password:registerPasswordEle.value
    }
    let messageStr=localStorage.getItem('userMessage')
    let messages=JSON.parse(messageStr) ||[]
    messages.push(message)
    localStorage.setItem('userMessage',JSON.stringify(messages))
    registerIdEle.value=''
    registerPasswordEle.value=''
}
//焦点事件
registerIdEle.addEventListener('blur', function () {
    emptyChecjedId()
})
//密码焦点事件
registerPasswordEle.addEventListener('blur', function () {
    let isEmptyChecjedPassword=emptyChecjedPassword()
    //如果为空,则不进行强度验证,不为空时,再进行强度验证
    if (!isEmptyChecjedPassword) {
        return
    }
    passwordDegree()
})
function toLogin(){
    const toLoginEle=document.querySelector('.toLoginBtn')
    toLoginEle.onclick=function(){
        location.href='./login.html'
    }
}
toLogin()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: js实现本地持久化存储登录注册

本文链接: https://lsjlt.com/news/165982.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js实现本地持久化存储登录注册
    本文实例为大家分享了js实现本地持久化存储登录注册的具体代码,供大家参考,具体内容如下 1.登录html文件 <!DOCTYPE html> <html lang...
    99+
    2024-04-02
  • Vue注册模块与登录状态的持久化实现方法详解
    目录整体框架1. 前端页面授权2. 实现注册页面3. 实现登录状态的持久化优化前端整体框架 1. 前端页面授权 当我们登录网站的时候,如果没有登录,强制让用户重定向到 登录界面 在...
    99+
    2024-04-02
  • js如何实现本地存储
    这篇文章主要介绍了js如何实现本地存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在客户端运行的JS是不能操作用户电脑磁盘中的文件的(保护...
    99+
    2024-04-02
  • Android开发----实现登录注册页面(创建本地数据库,对注册的账户密码进行存储)
    实现登录注册页面(创建本地数据库,对注册的账户密码进行存储) 写在前面: 本文实现了登录注册页面的开发,创建了本地数据库,存储注册的账户密码。注册账户为手机号,对账户为手机号进行了正则化验证。登录成功...
    99+
    2023-10-21
    数据库 android
  • Ruby序列化和持久化存储怎么实现
    这篇文章主要介绍“Ruby序列化和持久化存储怎么实现”,在日常操作中,相信很多人在Ruby序列化和持久化存储怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ruby序列化和持久化存储怎么实现”的疑惑有所...
    99+
    2023-06-30
  • K8s中MySQL 数据持久化存储的实现
    目录一、步骤二、实践2.1 创建 PV 和 PVC2.2 部署 MySQL 服务2.3 创建测试数据2.4 模拟节点宕机2.5 数据一致性验证FAQ一、步骤 (1)创建 PV 和 P...
    99+
    2023-01-08
    K8s MySQL数据持久化存储 K8s MySQL数据持久化
  • K8s中MySQL 数据持久化存储的实现
    目录一、步骤二、实践2.1 创建 PV 和 PVC2.2 部署 mysql 服务2.3 创建测试数据2.4 模拟节点宕机2.5 数据一致性验证FAQ一、步骤 (1)创建 PV 和 PVC。 (2)部署 MySQL 服务。...
    99+
    2023-01-09
    K8s MySQL数据持久化存储 K8s MySQL数据持久化
  • JS+PHP如何实现用户注册及登录
    小编给大家分享一下JS+PHP如何实现用户注册及登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!<!DOCTYPE ht...
    99+
    2024-04-02
  • Python pickle模块实现Python对象持久化存储
    目录前言:pickle.dumps()函数pickle.loads()函数pickle.dump()函数pickle.load()函数总结:前言: Python 中有个序列化过程叫作...
    99+
    2024-04-02
  • Pythontkinter库实现登录注册基本功能
    目录一、各种组件的布局二、制作过程中的理解三、制作过程中遇到的难点四、解决问题的方法tkinter库作为python的标准库之一,它的功能性十分强大,下面我将使用tkinter库制作...
    99+
    2022-12-30
    Python tkinter登录注册 Python tkinter Python登录注册
  • SpringBoot怎么实现持久化登录状态获取
    本篇内容主要讲解“SpringBoot怎么实现持久化登录状态获取”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么实现持久化登录状态获取”吧!SpringBoot 持久化登录...
    99+
    2023-06-25
  • SpringBoot如何实现持久化登录状态获取
    目录SpringBoot 持久化登录状态获取1.编写登录的controller文件2.编写首页Controller逻辑3.运行测试,成功SpringBoot 实现登录登出,登录态管理...
    99+
    2024-04-02
  • 如何利用Kubernetes实现容器的持久化存储
    本篇内容主要讲解“如何利用Kubernetes实现容器的持久化存储”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何利用Kubernetes实现容器的持久化存储”吧!  可以说,容器化彻底改变了...
    99+
    2023-06-04
  • 如何在Storm中实现数据的持久化存储
    在Storm中实现数据的持久化存储通常可以通过以下几种方法: 使用数据库:可以将Storm处理的数据存储到关系型数据库(如MySQ...
    99+
    2024-04-09
    Storm
  • 在Unity中如何实现数据的持久化存储
    在Unity中实现数据的持久化存储可以通过以下几种方式: PlayerPrefs:Unity自带的一种简单的持久化存储方案,可以存...
    99+
    2024-05-09
    Unity
  • Python+Tkinter连接本地MySQL数据库怎么实现注册登录
    这篇文章主要介绍“Python+Tkinter连接本地MySQL数据库怎么实现注册登录”,在日常操作中,相信很多人在Python+Tkinter连接本地MySQL数据库怎么实现注册登录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-26
  • Python + Tkinter连接本地MySQL数据库简单实现注册登录
    项目结构: 源代码: # -*- coding: utf-8 -*- """ @date:  2022/01/09 17:40 @author: Anker @python:...
    99+
    2024-04-02
  • Vue中的Strorage本地化存储怎么实现
    本文小编为大家详细介绍“Vue中的Strorage本地化存储怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中的Strorage本地化存储怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Sto...
    99+
    2023-06-30
  • Spring Data JPA怎么实现持久化存储数据到数据库
    这篇“Spring Data JPA怎么实现持久化存储数据到数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2023-06-30
  • Spring Data JPA实现持久化存储数据到数据库的示例代码
    目录1.SpringBoot项目整合JPA1.1 pom.xml依赖1.2 application配置文件2.创建实体类3.启动项目,测试验证1.SpringBoot项目整合JPA ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作