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