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. 在iOS开发中使用FMDB

    在iOS开发中使用FMDB 前言 SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.iOS SDK 很早就支持了 SQLite,在使用时,只需 ...

  2. iOS完整学习步骤

    一  C语言 1.1基本数据类型和基本运算 1.2 函数 数组 字符串 指针 1.3 预处理指令 1.4结构体 枚举 1.5 文件操作 内存管理 二 Objective - C 2.1 面向对象 2. ...

  3. <html:option获取文本值

    <p class="w120">变更后IP:</p> <div class="comBobox w200 f_l"> < ...

  4. 【液晶模块系列基础视频】5.1X-GUI字体驱动1

    ============================= 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:ht ...

  5. HTML / JavaScript / PHP 实现页面跳转的几种方式

    ① HTML 的 meta refresh 标签 <!doctype html> <html lang="en"> <head> <met ...

  6. HTML: margin詳解

    margin:10px; 設置塊元素的上,右,下,左方向的值同爲10px margin:10px 30px; 設置塊元素的上和下爲10px,左和右爲30px; margin:10px 20px 30p ...

  7. java语言中数值自动转换的优先顺序

    转换原则:从低精度向高精度转换byte .short.int.long.float.double.char数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中“悄然”进行的转换,不需要用 ...

  8. a read only variable

    SHOW VARIABLES LIKE '%FORMAT%' SET DATE_FORMAT ='%Y-%m-%d' [SQL]SET DATE_FORMAT ='%Y-%m-%d' [Err] 12 ...

  9. hiho42 : 骨牌覆盖问题·二

    描述 上一周我们研究了2xN的骨牌问题,这一周我们不妨加大一下难度,研究一下3xN的骨牌问题?所以我们的题目是:对于3xN的棋盘,使用1x2的骨牌去覆盖一共有多少种不同的覆盖方法呢?首先我们可以肯定, ...

  10. Kafka可靠性的思考

    首先kafka的throughput 很牛逼,参考:http://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million- ...