JS读写Cookie(设置、读取、删除)
Cookie是客户端存放数据的一种方式,可用来做状态保持。
1.设置Cookie:
a.无过期时间:(若不设置过期时间,默认为会话级Cookie,浏览器关闭就会失效)
1 2 3
| function setCookie(name,value) { document.cookie = name + '=' + escape(value); }
|
b.固定过期时间:
1 2 3 4 5 6 7
| function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }
|
c.自定义过期时间:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| function setCookie(name,value,time) { var msec = getMsec(time); var exp = new Date(); exp.setTime(exp.getTime() + msec*1); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }
function getMsec(DateStr) { var timeNum=str.substring(0,str.length-1)*1; var timeStr=str.substring(str.length-1,str.length); if (timeStr=="s") { return timeNum*1000; } else if (timeStr=="h") { return timeNum*60*60*1000; } else if (timeStr=="d") { return timeNum*24*60*60*1000; } }
|
2.读取Cookie:
1 2 3 4 5 6 7 8 9 10
| function getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)){ return unescape(arr[2]); } else{ return null; } }
|
3.删除Cookie:
1 2 3 4 5 6 7 8 9
| function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null){ document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } }
|
4.调用示例:
1 2
| setCookie("name","hayden"); alert(getCookie("name"));
|