获取和设置cookie的方法(5种)

//--------------------------11111111111
var createCookie = function (a, b, c, d) {
    var d = d ? d : "/";
    if (c) {
        var e = new Date;
        e.setTime(e.getTime() + 24 * c * 60 * 60 * 1e3);
        var f = "; expires=" + e.toGMTString()
    } else var f = "";
    document.cookie = a + "=" + b + f + "; path=" + d
};
var readCookie = function (a) {
    var b = a + "=";
    var c = document.cookie.split(";");
    for (var d = 0; d < c.length; d++) {
        var e = c[d];
        for (; " " == e.charAt(0);)e = e.substring(1, e.length);
        if (0 == e.indexOf(b))return e.substring(b.length, e.length)
    }
    return null
};
//--------------------------22222222222222
var a;
a:{
    for (var b = document.cookie.length, c = 0; c < b;) {

        var e = c + 11; //e应该是一个起始位置。
        // 如果是这个名字
        if ("__ltjdvals=" == document.cookie.substring(c, e)) {
            // 寻找;的位置 在e之后;
            var f = e, g = document.cookie.indexOf(";", f);

            -1 == g && (g = document.cookie.length);
            a = unescape(document.cookie.substring(f, g)); //获得cookie的值
            break a
        }
        c = document.cookie.indexOf(" ", c) + 1;
        if (0 == c)break  //如果没有空格,跳出循环
    }
    a = null  //返回kong
}
//------
var d = new Date;
d.setTime(d.getTime() + 12E5);
document.cookie = "__ltjdvals=" + escape("1927367272|baidu-pinzhuan|t_292769910_baidupi" +
        "nzhuan|cpc| d0a00922ee39486cb57e6fd7f7d85fe4_0_b67c5a26708b478ca5a77ad02567118e") +
    ";expires=" + d.toGMTString();
//----------------------------3333333333333333
function getCookieVal(offset) {
    var endstr = document.cookie.indexOf(";", offset); //结束位置
    if (endstr == -1) endstr = document.cookie.length; //没有找到就是cookie的条数
    return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value, time) { //键、 值、过期时间
    var Days = 30;
    var exp = new Date();
    exp.setTime(exp.getTime() + 60 * 1000 * time);  //传入过期时间
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
function GetCookie(name) {
    var arg = name + "=";
    var alen = arg.length; //属性名的长度
    var clen = document.cookie.length;  //cookie的长度
    var i = 0;
    while (i < clen) {
        var j = i + alen;    // 属性名的长度
        if (document.cookie.substring(i, j) == arg) return getCookieVal(j);  //第一次循环得到一个cookie值。
        i = document.cookie.indexOf(" ", i) + 1; //一个新的起始位置,也就是下一个位置,  相当于是搜索了。
    }
    return null;
}
//------------------------4444444444444444444
function getCookie(c_name){
    if (document.cookie.length>0){  //先查询cookie是否为空,为空就return ""
        c_start=document.cookie.indexOf(c_name + "=")  //通过String对象的indexOf()来检查这个cookie是否存在,不存在就为 -1  
        if (c_start!=-1){
            c_start=c_start + c_name.length+1  //最后这个+1其实就是表示"="号啦,这样就获取到了cookie值的开始位置
            c_end=document.cookie.indexOf(";",c_start)  //其实我刚看见indexOf()第二个参数的时候猛然有点晕,后来想起来表示指定的开始索引的位置...这句是为了得到值的结束位置。因为需要考虑是否是最后一项,所以通过";"号是否存在来判断
            if (c_end==-1) c_end=document.cookie.length
            return unescape(document.cookie.substring(c_start,c_end))  //通过substring()得到了值。想了解unescape()得先知道escape()是做什么的,都是很重要的基础,想了解的可以搜索下,在文章结尾处也会进行讲解cookie编码细节
        }
    }
    return ""
}

function setCookie(c_name, value, expiredays){
        var exdate=new Date();
        exdate.setDate(exdate.getDate() + expiredays);
         document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
       } //  使用方法:setCookie(‘username‘,‘Darren‘,30)
//--------------------555555555555
//写cookies

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();
}

//读取cookies
function getCookie(name)
{
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

    if(arr=document.cookie.match(reg))

        return unescape(arr[2]);
    else
        return null;
}

//删除cookies
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();
}
//使用示例
setCookie("name","hayden");
alert(getCookie("name"));

//如果需要设定自定义过期时间
//那么把上面的setCookie 函数换成下面两个函数就ok;

//程序代码
function setCookie(name,value,time)
{
    var strsec = getsec(time);
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec*1);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getsec(str)
{
    alert(str);
    var str1=str.substring(1,str.length)*1;
    var str2=str.substring(0,1);
    if (str2=="s")
    {
        return str1*1000;
    }
    else if (str2=="h")
    {
        return str1*60*60*1000;
    }
    else if (str2=="d")
    {
        return str1*24*60*60*1000;
    }
}
时间: 2024-12-28 08:50:54

获取和设置cookie的方法(5种)的相关文章

JavaScript设置获取和设置属性的方法

这篇文章主要介绍了JavaScript设置获取和设置属性的方法,学会使用getAttribute.setAttribute的用法,需要的朋友可以参考下 getAttribute 该方法用来获取元素的属性,调用方式如下所示: 复制代码代码如下: object.getAttribute(attribute) 以此前介绍的一些方法不同,getAttribute方法不属于document对象,所以不能通过document对象调用.它只能通过元素节点对象来调用. 该方法只接受一个参数,你指定要查询的属性的

登陆后设置cookie的方法

public void SetCookie(string userName, string role,string cookieValueName) {FormsAuthentication.FormsCookieName FormsAuthenticationTicket myTick = new FormsAuthenticationTicket(1, userName, System.DateTime.Now.AddMinutes(30),DateTime.Now, false, role

JS访问或设置cookie的方法+跨域调用方法

无意中从163网站获取的JS访问或设置cookie的方法,Log到日志上以防遗忘 //COOKIE功能检查function fCheckCookie(){    if(!navigator.cookieEnabled){        alert("您好,您的浏览器设置禁止使用cookie\n请设置您的浏览器,启用cookie功能,再重新登录.");    }} //获取Cookiefunction fGetCookie(sName){   var sSearch = sName +

Web学习之----js 操作获取和设置 cookie

引自http://www.nowcoder.com/questionTerminal/eb4d2b3204b14545a78541440c43d969?orderByHotValue=0&done=0&pos=8&mutiTagIds=571&onlyReference=false // 创建cookie function setCookie(name, value, expires, path, domain, secure) { var cookieText = enc

获取和设置 cookie——JavaScript代码实现

1 // 创建cookie 2 function setCookie(name, value, expires, path, domain, secure) { 3 var cookieText = encodeURIComponent(name) + '=' +encodeURIComponent(value); 4 if (expires instanceof Date) { 5 cookieText += '; expires=' + expires; 6 } 7 if (path) {

js操作获取和设置cookie

//创建cookie function setCookie(name, value, expires, path, domain, secure) {     var cookieText = encodeURIComponent(name) + '=' + encodeURIComponent(value);     if (expires instanceof Date) {         cookieText += '; expires=' + expires;     }     if

html 获取和写入cookie的 方法

//取Cookie的值           function getCookie(cookie_name) {     var allcookies = document.cookie;     var cookie_pos = allcookies.indexOf(cookie_name);   //索引的长度       // 如果找到了索引,就代表cookie存在,     // 反之,就说明不存在.     if (cookie_pos != -1)     {         // 把

javascript设置和获取cookie的方法

设置cookie的方法,和获取cookie的方法如下 设置cookie document.cookie="name="+value; //获取cookie其中index是cookie的名称 function getCookie(index){ var allcookies = document.cookie; var cookie_pos = allcookies.indexOf(index); if (cookie_pos != -1){ cookie_pos += index.le

前端开发中通过js设置cookie的一组方法

我们在前端开发中,通常都需要获取并记录用户的某些操作设置,这样可以使用户下一次访问网站时不用进行重复的调整设置同一个功能. 此次文章中的方法是在前端开发工作中自己随手写的一组通过js设置与获取cookie的方法,能够应用在多说情况下,没做细挖与深究. js方法的完整代码如下: var cookie = { set:function(key,val,time){//设置cookie方法 var date=new Date(); //获取当前时间 var expiresDays=time; //将d