js操作cookie

  1. //JS操作cookies方法!  
  2. //写cookies  
  3. function setCookie(name,value)  
  4. {  
  5. var Days = 30;  
  6. var exp = new Date();   
  7. exp.setTime(exp.getTime() + Days*24*60*60*1000);  
  8. document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();  
  9. }  
  10. //读取cookies  
  11. function getCookie(name)  
  12. {  
  13. var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");  
  14. if(arr=document.cookie.match(reg)) return unescape(arr[2]);  
  15. else return null;  
  16. }  
  17. //删除cookies  
  18. function delCookie(name)  
  19. {  
  20. var exp = new Date();  
  21. exp.setTime(exp.getTime() - 1);  
  22. var cval=getCookie(name);  
  23. if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();  
  24. }  
  25. //使用示例  
  26. setCookie("name","hayden");  
  27. alert(getCookie("name"));  
  28. //如果需要设定自定义过期时间  
  29. //那么把上面的setCookie 函数换成下面两个函数就ok;  
  30. //程序代码  
  31. function setCookie2(name,value,time){  
  32. var strsec = getsec(time);  
  33. var exp = new Date();  
  34. exp.setTime(exp.getTime() + strsec*1);  
  35. document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();  
  36. }  
  37. function getsec(str){  
  38. alert(str);  
  39. var str1=str.substring(1,str.length)*1;   
  40. var str2=str.substring(0,1);   
  41. if (str2=="s"){  
  42. return str1*1000;  
  43. }else if (str2=="h"){  
  44. return str1*60*60*1000;  
  45. }else if (str2=="d"){  
  46. return str1*24*60*60*1000;  
  47. }  
  48. }  
  49. //这是有设定过期时间的使用示例:  
  50. //s20是代表20秒  
  51. //h是指小时,如12小时则是:h12  
  52. //d是天数,30天则:d30  
  53. //暂时只写了这三种  
  54. setCookie2("name2","hayden2","s20");  
  55. alert(getCookie("name2"));  
  56. 以下是几个比较常见的好用的函数:  
  57. function GetCookieVal(offset)  
  58. //获得Cookie解码后的值  
  59. {  
  60. var endstr = document.cookie.indexOf (";", offset);  
  61. if (endstr == -1)  
  62. endstr = document.cookie.length;  
  63. return unescape(document.cookie.substring(offset, endstr));  
  64. }  
  65. function SetCookie(name, value)  
  66. //设定Cookie值  
  67. {  
  68. var expdate = new Date();  
  69. var argv = SetCookie.arguments;  
  70. var argc = SetCookie.arguments.length;  
  71. var expires = (argc > 2) ? argv[2] : null;  
  72. var path = (argc > 3) ? argv[3] : null;  
  73. var domain = (argc > 4) ? argv[4] : null;  
  74. var secure = (argc > 5) ? argv[5] : false;  
  75. if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));  
  76. document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))  
  77. +((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))  
  78. +((secure == true) ? "; secure" : "");  
  79. }  
  80. function DelCookie(name)  
  81. //删除Cookie  
  82. {  
  83. var exp = new Date();  
  84. exp.setTime (exp.getTime() - 1);  
  85. var cval = GetCookie (name);  
  86. document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();  
  87. }  
  88. function GetCookie(name)  
  89. //获得Cookie的原始值  
  90. {  
  91. var arg = name + "=";  
  92. var alen = arg.length;  
  93. var clen = document.cookie.length;  
  94. var i = 0;  
  95. while (i < clen)  
  96. {  
  97. var j = i + alen;  
  98. if (document.cookie.substring(i, j) == arg)  
  99. return GetCookieVal (j);  
  100. i = document.cookie.indexOf(" ", i) + 1;  
  101. if (i == 0break;  
  102. }  
  103. return null;  
  104. }  
  105. //测试  
  106. SetCookie("sunshine","1986");  
  107. alert(GetCookie("sunshine")); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值