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. 【BZOJ】2435: [Noi2011]道路修建(树形dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2435 我怎么感觉那么水.. 坑的是,dfs会爆...好吧..用bfs.. //upd:我的智商也是醉 ...

  2. 【SPOJ】7258. Lexicographical Substring Search(后缀自动机)

    http://www.spoj.com/problems/SUBLEX/ 后缀自动机系列完成QAQ...撒花..明天or今晚写个小结? 首先得知道:后缀自动机中,root出发到任意一个状态的路径对应一 ...

  3. COJ979 WZJ的数据结构(负二十一)

    试题描述 请你实现一个数据结构,完成这样的功能: 给你一个N个点的图,初始状态无边. 每次加入一条双向边(u,v,w),若加入后没有构成一棵生成树,输出“Not Yet”,否则输出当前最小生成树的权值 ...

  4. Java学习第一步: Win7配置JDK环境

    转摘"专注JavaWeb开发":http://www.javaweb1024.com/java/Javajichu/2015/03/02/353.html 下载JDK并安装到本机  ...

  5. [转载] #define new DEBUG_NEW

    在用vc时,利用AppWizard会产生如下代码: #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] ...

  6. github上有android开源项目

    下面是一些比较好的开源项目,总共分为5大类,也许对某一些人有用,有些项目也许将来某一天对自己也有用,所以整理到此,希望对大家有帮助.首先声明非原创,这篇blog的目的是分享给那些可能需要的人. htt ...

  7. POJ 1419 Graph Coloring(最大独立集/补图的最大团)

    Graph Coloring Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4893   Accepted: 2271   ...

  8. 前端编码规范(2)—— HTML 规范

    HTML 规范 文档类型 推荐使用 HTML5 的文档类型申明: <!DOCTYPE html>. (建议使用 text/html 格式的 HTML.避免使用 XHTML.XHTML 以及 ...

  9. [ZZ] RGBM and RGBE encoding for HDR

    Deferred lighting separate lighting rendering and make lighting a completely image-space technique. ...

  10. Apache Spark源码走读之14 -- Graphx实现剖析

    欢迎转载,转载请注明出处,徽沪一郎. 概要 图的并行化处理一直是一个非常热门的话题,这里头的重点有两个,一是如何将图的算法并行化,二是找到一个合适的并行化处理框架.Spark作为一个非常优秀的并行处理 ...