1. 存储计数器的值

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="div1">0</div><br>
<input id="btn" value="计数" type="button"> <script>
window.onload = function(){
var div = document.getElementById("div1");
var btn = document.getElementById("btn");
var num = localStorage.getItem("num") ? localStorage.getItem("num") : 0;
div.innerHTML = num +"";
btn.onclick = function(){
num ++;
localStorage.setItem("num",num);
div.innerHTML = localStorage.getItem("num") +"";
}
}
</script>
</body>
</html>

1.2 简化

<script>
window.onload = function(){
var div = document.getElementById("div1");
var btn = document.getElementById("btn");
var num = localStorage.getItem("num") || 0;
div.innerHTML = num;
btn.onclick = function(){
num++;
div.innerHTML = num;
localStorage.setItem("num",num);
}
}
</script>

2. 校验用户名和密码

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
账号:<input type="text" id="account"><br>
密码:<input type="text" id="pwd"><br>
<input type="button" id="btn" value="登录">
<p id="info"></p>
<br><br><br><br><br><br><br><br><br><br><br> <script>
window.onload = function(){
var account = document.getElementById("account");
var pwd = document.getElementById("pwd");
var login = document.getElementById("btn");
var info = document.getElementById("info"); //展示结果用, 登录成功或登录失败!
var user = [ // 存入数据库的数据(模拟)
{'account': 'liuting', 'pwd': '123'},
{'account': 'zhangsan', 'pwd': '456'},
{'account': 'lisi', 'pwd': '789'},
{'account': 'wangwu', 'pwd': 'jqk'},
{'account': 'wanger', 'pwd': 'abc'},
{'account': 'mazi', 'pwd': 'abc123'}
]; //1. 保存数据到数据库 并从数据库中获取用户信息
var index = 0; // 保证存入的key的唯一性
var arrUser = []; //获取所有本地用户
for(var i = 0, len = user.length; i < len; i++){ //把所有的模拟的用户保存到数据库并 从数据库获取所有的用户信息
localStorage.setItem('account'+ index, user[i]['account']);
localStorage.setItem('pwd'+ index, user[i]['pwd']);
var userSave = {};
userSave['account'] = localStorage.getItem('account'+ index);
userSave['pwd'] = localStorage.getItem('pwd'+ index);
arrUser[index] = userSave;
index++;
} //2. 点击登录按钮的时候 进行账号和密码校验
login.onclick = function(){
if(arrUser){
for(var i = 0, len = arrUser.length; i < len; i++) {
//如果前台输入的账号和密码与数据库中的账号和密码一致则登录成功!反之失败!
if(account.value == arrUser[i]['account'] && pwd.value == arrUser[i]['pwd']) {
info.style.color = 'green';
info.innerHTML = "登录成功!"
return; // 跳转到首页
}else {
info.style.color = 'red';
info.innerHTML = "账号或密码有误!请重新输入!"
}
}
}else {
info.style.color = 'red';
info.innerHTML = "数据库中没有数据";
}
}
}
</script>
</body>
</html>

H5 -- 本地存储计数器的值 和前端校验用户的更多相关文章

  1. H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)

    一.Web Storage教程 1.概述: 对于Web Storage来说,实际上是Cookies存储的进化版.如果了解Cookie的人几乎一看Web Storage就会用,如果你从来没用过没了解过C ...

  2. H5本地储存Web Storage

    一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了C ...

  3. 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面

    搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...

  4. 利用H5本地存储localStorage、sessionStorage

    最近的业务处理上,要使用cookie缓存储一下数据,公司的cookie还搞出点问题.而用户的浏览器都是利用微信的内置,普遍支持h5的本地存储.于是利用了这个... 现代浏览器普遍开始支持H5本地存储, ...

  5. 解析H5本地储存Web Storage

    一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了C ...

  6. h5 本地存储

    H5本地存储有两个API,一个是Web Storage,还有一个是Web SQL.不管是哪一个,都是基于JavaScript语言来使用,接下来我就教你怎么使用H5本地存储,本文篇幅较大,JS代码较多, ...

  7. H5本地存储详解

    H5之前存储数据一般是通过 cookie ,但是 cookie 存的数据容量比较少.H5 中扩充了文件存储能力,可存储多达 5MB 的数据.现在就实际开发经验来对本地存储 ( Storage ) 的使 ...

  8. H5本地存储:sessionStorage和localStorage

    作者:心叶时间:2018-05-01 18:30 H5提供了二种非常好用的本地存储方法:sessionStorage和localStorage,下面分别介绍一下: 1.sessionStorage:保 ...

  9. h5本地缓存(localStorage,sessionStorage)

    H5本地存储数据 localStorage,sessionStorage的区别: 相同点:  缓存数据比cookie的范围大; localStorage:关闭浏览器数据不会消失,除非手动删除数据 se ...

随机推荐

  1. MySQL 用户管理——权限表

    权限表 权限表存放在mysql数据库中 user表结构 用户列:Host.User.Password 权限列:*priv 资源控制列:max* 安全列:其余   db表 存储了用户对某个数据库的操作权 ...

  2. people 0919

    package liu0919; public class People { private double height;// 身高 private String name;// 名字 private ...

  3. ASPX版菜刀一句话,留后门专用

    首先解释一下为什么要做这个玩意:众所周知.net一句话是不能插入到文件之中的,除非那个页面使用Jscript编写,但是现在看来 Jscript市场很低,遇到的.net站基本都是C#.新建一个SHELL ...

  4. CVE-2014-4113 windows通杀本地提权0day

    这个0day的发现挺有意思的,是老外CrowdStrike 发现的,被老外监测程序发现显示从WEBSHELL使用Win64.exe来提升权限. 原文地址:http://blog.crowdstrike ...

  5. Linux环境下实现哲学家就餐问题(2)

    #include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <string.h& ...

  6. 出现segment fault 错误的几种原因

    segment fault 段异常各种原因www.MyException.Cn 发布于:2012-11-26 11:48:50 浏览:24次 0 segment fault 段错误各种原因一 造成se ...

  7. sqlserver ldf过大处理方法

    第一步 DUMP TRANSACTION   databasename  WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH  ...

  8. SqlServer表数据与excel中数据的互相复制

    一.SqlServer表数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键,复制(也可以点击连同标题复制),复制到记事本中(不然会乱码) 3.然后再把记事本的内容 ...

  9. Visual Studio 常用插件

    一.IndentGuide 缩进线插件:每个缩进块首尾添加虚线,使代码看着整洁. 其他插件:继续推荐几款VisualStudio的插件 二.CodeRush code rush 是微软推出的一款VS2 ...

  10. FAQ软件卸载

    今天安装了一个PDF 编辑软件pdftk,下载时提示有50多M,感觉不好用,卸载后提示释放空间只有2M,郁闷了.上网查寻,如下命令 sudo dpkg -p package_name卸载软件包及其配置 ...