JavaScript实现cookies设置【读,增,删,修等操作】

/* 
GetCookie(name) 获取Cookies方法 ,name为名字
SetCookie(name,value,interval,number,[path],[domain],[secure]) 设置cookies方法
  name 名称,value cookies值,interval("y" 年,"q"季,"m"月,"d"日,"h"时,"M"分,"s"秒,默认:日),number:数量级
  [path],[domain],[secure] 可缺省。
DelCookie(name)  删除设置过期cookies , name:cookies名称  
mr.junval@qq.com 2008
*/

function  GetCookieVal(offset) {
    
var endstr = document.cookie.indexOf (";", offset);
    
if (endstr == -1)
    endstr 
= document.cookie.length;
    
return unescape(document.cookie.substring(offset, endstr));
    }

    
    
function  GetCookie(name) {
    
var arg = name + "=";
    
var alen = arg.length;
    
var clen = document.cookie.length;
    
var i = 0;
    
while (i < clen){
        
var j = i + alen;
        
if (document.cookie.substring(i, j) == arg)
        
return GetCookieVal (j);
        i 
= document.cookie.indexOf(" ", i) + 1;
        
if (i == 0break;
    }

    
return null;
    }

    
    
function  DelCookie(name) {
        
var exp = new Date();
        exp.setTime (exp.getTime() 
- 1);
        
var cval = GetCookie (name);
        document.cookie 
= name + "=" + cval + "; expires="+ exp.toGMTString();
    }

    
    
function  SetCookie(name, value,interval,number) {
        
if (interval == "0"return false;
        
var expdate = new Date();
        
var argv = SetCookie.arguments;
        
var argc = SetCookie.arguments.length;
        
var expires = DateAdd(interval,number,expdate);
        
var path = (argc > 4? argv[4] : null;
        
var domain = (argc > 5? argv[5] : null;
        
var secure = (argc > 6? argv[6] : false;
        document.cookie 
= name + "=" + escape (value) +((expires == null? "" : ("; expires="+ expires.toGMTString()))
        
+((path == null? "" : ("; path=" + path)) +((domain == null? "" : ("; domain=" + domain))
        
+((secure == true? "; secure" : "");
    }

    
    
function  DateAdd(interval,number,date) {
        
switch(interval){
            
case "y":{
                date.setFullYear(date.getFullYear()
+number);   
                
return date;   
                
break
            }

            
case "q":{
                date.setMonth(date.getMonth()
+number*3);  
                
return date;   
                
break
            }

            
case "m":{
                date.setMonth(date.getMonth()
+number);   
                
return date;   
                
break
            }

            
case "w":{
                date.setDate(date.getDate()
+number*7);  
                
return date;   
                
break
            }

            
case "d":{
                date.setDate(date.getDate()
+number); 
                
return date;   
                
break
            }

            
case "h":{
                date.setHours(date.getHours()
+number);   
                
return date;   
                
break
            }

            
case "M":{
                date.setMinutes(date.getMinutes()
+number);   
                
return date;   
                
break
            }

            
case "s":{
                date.setSeconds(date.getSeconds()
+number);  
                
return date;   
                
break
            }

            
case "0":
                
return date;   
                
break
            }

        }
           
    }

采用脚本压缩后的JS文件(通过测试完全可以使用)
eval( function (p,a,c,k,e,d) {e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'//w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('//b'+e(c)+'//b','g'),k[c]);return p;}('n X(D){8 p=f.e.Y(";",D);t(p==-1)p=f.e.z;9 10(f.e.U(D,p))}n F(g){8 C=g+"=";8 W=C.z;8 P=f.e.z;8 i=0;13(i<P){8 j=i+W;t(f.e.U(i,j)==C)9 X(j);i=f.e.Y(" ",i)+1;t(i==0)b}9 k}n 11(g){8 u=K I();u.12(u.Z()-1);8 H=F(g);f.e=g+"="+H+"; o="+u.L()}n E(g,N,l,a){t(l=="0")9 Q;8 G=K I();8 A=E.J;8 v=E.J.z;8 o=V(l,a,G);8 x=(v>4)?A[4]:k;8 r=(v>5)?A[5]:k;8 B=(v>6)?A[6]:Q;f.e=g+"="+1c(N)+((o==k)?"":("; o="+o.L()))+((x==k)?"":("; x="+x))+((r==k)?"":("; r="+r))+((B==17)?"; B":"")}n V(l,a,2){1a(l){c"y":{2.16(2.18()+a);9 2;b}c"q":{2.O(2.T()+a*3);9 2;b}c"m":{2.O(2.T()+a);9 2;b}c"w":{2.S(2.R()+a*7);9 2;b}c"d":{2.S(2.R()+a);9 2;b}c"h":{2.1d(2.19()+a);9 2;b}c"M":{2.14(2.15()+a);9 2;b}c"s":{2.1e(2.1b()+a);9 2;b}c"0":{9 2;b}}}',62,77,'||date||||||var|return|number|break|case||cookie|document|name||||null|interval||function|expires|endstr||domain||if|exp|argc||path||length|argv|secure|arg|offset|SetCookie|GetCookie|expdate|cval|Date|arguments|new|toGMTString||value|setMonth|clen|false|getDate|setDate|getMonth|substring|DateAdd|alen|GetCookieVal|indexOf|getTime|unescape|DelCookie|setTime|while|setMinutes|getMinutes|setFullYear|true|getFullYear|getHours|switch|getSeconds|escape|setHours|setSeconds'.split('|'),0,{}))
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值