博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取和设置cookie的方法(5种)
阅读量:5059 次
发布时间:2019-06-12

本文共 4773 字,大约阅读时间需要 15 分钟。

//--------------------------11111111111var 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};//--------------------------22222222222222var 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();//----------------------------3333333333333333function 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;}//------------------------4444444444444444444function 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//写cookiesfunction 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();}//读取cookiesfunction getCookie(name){    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");    if(arr=document.cookie.match(reg))        return unescape(arr[2]);    else        return null;}//删除cookiesfunction 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;    }}

 

转载于:https://www.cnblogs.com/wu-hou/p/6634639.html

你可能感兴趣的文章
session如何保存在专门的StateServer服务器中
查看>>
react展示数据
查看>>
测试计划
查看>>
idea设置自定义图片
查看>>
[高级]Android多线程任务优化1:探讨AsyncTask的缺陷
查看>>
选择器
查看>>
rownum 的使用
查看>>
Mysql与Oracle 的对比
查看>>
MVC系列博客之排球计分(三)模型类的实现
查看>>
npm安装
查看>>
阅读笔记02
查看>>
2019年春季学期第二周作业
查看>>
2014北邮计算机考研复试上机题解(上午+下午)
查看>>
mySQL 教程 第7章 存储过程和函数
查看>>
OGG同步Oracle到Kafka(Kafka Connect Handler)
查看>>
算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
查看>>
idea的maven项目无法引入junit
查看>>
jquery实现限制textarea输入字数
查看>>
thinkphp5 csv格式导入导出(多数据处理)
查看>>
页面置换算法-LRU(Least Recently Used)c++实现
查看>>