<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="utf-8">
</head> <body>
<form>
昵称:<input type="text" id="username"><br><br> 密码:
<input type="password" id="password"><br><br>
<input type="button" value="登录" id="login">
<input type="button" value="注册" id="resiger">
<input type="button" value="clear" id="clear">
</form>
<script type="text/javascript">
//需求分析:把获取的用户名和密码存入本地存储中
//当用户登陆的时候判断用户名和密码是否在存储中
//我认为应该这样存储用户名和密码
//userpass:[{username:zhangsan,password:123456},{username:lisi,password:123456}]
var login = document.getElementById("login");
var resiger = document.getElementById("resiger");
var user = document.getElementById("username");
var pass = document.getElementById("password");
var clear = document.getElementById("clear");
//开始的时候获取本地存储,如果没有,置为[],否则获取
var str = window.localStorage.getItem("userpass") || "[]";
var userpass = JSON.parse(str);
//注册功能实现
resiger.onclick = function() {
//非空判断
var person = {
username: user.value,
password: pass.value
};
//需要判定用户名是否重复,如果重复,提示该用户名已被注册,并且return
//如果没有重复,就把他放入数组中
userpass.push(person);
console.log(userpass);
var str = JSON.stringify(userpass)
window.localStorage.setItem("userpass", str);
}
//登陆功能实现
login.onclick = function() {
var username = user.value;
var password = pass.value;
var flag = 0;
for(var i = 0; i < userpass.length; i++) {
if(username == userpass[i].username && password == userpass[i].password) {
alert("欢迎" + username + ",登陆成功!");
return;
} else {
flag++;
}
}
if(flag == userpass.length) {
alert("登陆不成功");
}
}
clear.addEventListener('click',function(){
window.localStorage.clear();
})
</script>
</body> </html>

最新文章

  1. Redis与KV存储(RocksDB)融合之编码方式
  2. Alpha阶段第四次Scrum Meeting
  3. tyvj1195 最后的晚餐
  4. javascript中怎样区分元素和节点?
  5. 墙内无缝更新Android SDK
  6. 注意SQLServer2012中带参数的XP_ReadErrorLog
  7. 【LTE基础知识】SGLTE, SVLTE, CSFB, VoLTE
  8. node js npm 和 cnpm的使用
  9. extjs 关于dom操作的几个库
  10. jsp 基础知识之指令元素
  11. 使用顶级 VSCode 扩展来加快开发 JavaScript
  12. linux 乌班图 lnmp环境搭建
  13. 解决Maven web 项目 Cannot detect Web Project version. Please specify version of Web Project through ... 的错误
  14. Docker -d : Running modprobe bridge nf_nat failed with message: exit status 1
  15. [SCOI2005]繁忙的都市
  16. java关于集合的遍历与增强for循环(foreach)的使用
  17. (转)Unity3D研究院之IOS&amp;Android收集Log文件
  18. recv用TCP和TUDP下的区别
  19. NET Core2.1 WEB老项目迁移
  20. Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能

热门文章

  1. Spring Boot 2.x零基础入门到高级实战教程
  2. 2017年9月11日 梁勇 java教材 编程练习题 第二章 2.15 键盘 读取两个点的坐标值(小数),控制台输出两点间距离。
  3. 如何使用工具进行C/C++的内存泄漏检测
  4. ES6学习(一):数值的扩展
  5. zabbix监控系统时间的问题
  6. Android驱动开发5-7总结
  7. SAP销售订单屏幕增强行项目屏幕增强
  8. 工具之UltraEdit之正则表达式
  9. 基于flash-marker.js 的地图标注闪烁代码调试
  10. ubuntu crontab设置定时任务