js设置cookie和localStorage

两年没写博客了。。。现在转战前端,先贴个cookie的实现


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<!--cookie 服务器环境下才能设置cookie,每一个域名下最多20个cookie,每个cookie不超过4kb-->
		<p>用户名<input id="user" type="text" /></p>
		<p>密码<input id="pass" type="password" /></p>
		<button>登录</button>
		<button>登录2</button>
		<button>删除</button>
		<button>localStrage登录</button>
		<button>删除local</button>
	</body>
<script>
	var user = document.querySelector("#user");
	var pass = document.querySelector("#pass");
	var btn = document.querySelectorAll("button");
	var nowSecond=0;
	
	btn[0].onclick = function(e){
		var nowDate = new Date();
		var nowDay = nowDate.getDate();
		nowDate.setDate(nowDay+1);
		var userVal = user.value;
		var passVal = pass.value;
		document.cookie = "username="+userVal+";expires="+nowDate;//创建cookie
		document.cookie = "password="+passVal+";expires="+nowDate;//
		e.preventDefault();
	}
	btn[1].onclick = function(e){
		var userVal = user.value;
		var passVal = pass.value;
		setCookie("username",userVal,10);//函数传参创建cookie
		setCookie("password",passVal,10);
	}
	function setCookie(key,value,days){
		var nowDate = new Date();
		var nowDay = nowDate.getDate();
		nowDate.setDate(nowDay+days);
		document.cookie = key+"="+value+";expires="+nowDate;
	}
	
	
	btn[2].onclick = function(e){
		setCookie("username","",-1);//删除cookie,只要把时间设置成0或者负数即可
		setCookie("password","",-1);
	}
	var arr1 = document.cookie.split("; ");//把cookie分隔成数组,查找username对应的名字
	console.log(arr1);
	for(var i=0;i<arr1.length;i++){
		var arr2=[];
		arr2.push(arr1[i].split("="));
		console.log(arr2);
		for(var j=0;j<arr2.length;j++){
			if(arr2[j][0]=="username"){
				console.log(arr2[1]);
				break;
			}
		}
	}
	
	
	
//		localStorage.username = user.value;
//		localStorage.password = pass.value;
//		localStorage.time = new Date().getTime();
	btn[3].onclick = function(){
		localStorage.username = user.value;
		localStorage.password = pass.value;
		nowSecond = new Date().getTime();
		localStorage.time = nowSecond;
		var now = new Date().getTime();
		if(localStorage.time){
			if(now-nowSecond>2000){
				alert("身份过期,需要重新登录");
				user.value = "";
				pass.value = "";
				localStorage.username = user.value;
				localStorage.password = pass.value;
				return;
			}
		}
	}
	btn[4].onclick = function(){
		localStorage.removeItem("username");
	}
	user.value = localStorage.username;
	pass.value = localStorage.password;
</script>
</html>


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值