cookie.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // cookie操作
  2. /*
  3. 设置cookie
  4. name:cookie名称
  5. value:cookie值
  6. expires:cookie生命周期
  7. */
  8. function setCookie(name,value,expires)
  9. {
  10. expires = Number(expires);
  11. var hostname=window.location.hostname;
  12. var domain="";
  13. if(!(/^\w+$/.test(hostname)||/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostname))){
  14. var f=hostname.split(".");
  15. //domain="."+f[f.length-2]+"."+f[f.length-1];
  16. domain = "." + hostname;
  17. }
  18. if(expires){
  19. var exp=new Date();
  20. exp.setTime(exp.getTime()+expires);
  21. if(domain.length)
  22. document.cookie=name+"="+escape(value)+";domain="+domain+";path=/;expires="+exp.toGMTString();
  23. else
  24. document.cookie=name+"="+escape(value)+";path=/;expires="+exp.toGMTString();
  25. }
  26. else{
  27. if(domain.length)
  28. document.cookie=name+"="+escape(value)+";domain="+domain+";path=/";
  29. else
  30. document.cookie=name+"="+escape(value)+";path=/";
  31. }
  32. }
  33. /*
  34. 取得cookie
  35. name:cookie名称
  36. */
  37. function getCookie(name)
  38. {
  39. var value=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  40. return value?unescape(value[2]):null
  41. }
  42. /*
  43. 删除cookie
  44. name:cookie名称
  45. */
  46. function delCookie(name)
  47. {
  48. var exp = new Date();
  49. exp.setTime(exp.getTime()-1);
  50. var value=getCookie(name);
  51. var hostname=window.location.hostname;
  52. var domain="";
  53. if(/^\w+$/.test(hostname)||/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
  54. domain=hostname;
  55. }
  56. else {
  57. var f=hostname.split(".");
  58. domain="."+f[f.length-2]+"."+f[f.length-1];
  59. }
  60. if (value!=null) document.cookie=name+"="+value+";domain="+domain+";path=/;expires="+exp.toGMTString();
  61. }