蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 47|回复: 0

Javascript读取cookie函数代码

[复制链接]

1923

主题

1

好友

1591

积分

管理员

Rank: 64Rank: 64Rank: 64Rank: 64

  • TA的每日心情
    奋斗
    2016-1-22 16:23
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    荣誉管理 论坛元老 热心会员 活跃会员 最佳新人 灌水之王

    发表于 7 天前 |显示全部楼层
    Javascript读取cookie函数代码
    用法: 一、设置cookie 复制代码 代码如下: var cookie = new JSCookie(); // 普通设置 cookie SetCookie("key1","val1"); // 过期时间为一年 var expire_time = new Date(); expire_timesetFullYear(expire_timegetFullYear() + 1); cookie SetCookie("key2","val2",expire_time); // 设置域及路径,带过期时间 cookie SetCookie("key3","val3",expire_time,"cnblogs","/"); // 设置带子键的cookie,子键分别是k1,k2,k3 cookie SetCookie("key4","k1=1k2=2k3=3");  二、读取cookie 复制代码 代码如下: // 简单获取 cookie GetCookie("key1"); cookie GetCookie("key2"); cookie GetCookie("key3"); cookie GetCookie("key4"); // 获取key4的子键k1值 cookie GetChild("key4","k1");  三、删除 复制代码 代码如下: cookie Expire("key1"); cookie Expire("key2"); cookie Expire("key3"); cookie Expire("key4");  示例: 复制代码 代码如下: lt;script type="text/javascript"gt; StringprototypeTrim = function() { return thisreplace(/^\s+/g,"")replace(/\s+$/g,""); } function JSCookie() { thisGetCookie = function(key) { var cookie = documentcookie; var cookieArray = cookiesplit(';'); var getvalue = ""; for(var i = 0;ilt;cookieArraylength;i++) { if(cookieArray[i]Trim()substr(0,keylength) == key) { getvalue = cookieArray[i]Trim()substr(keylength + 1); break; } } return getvalue; }; thisGetChild = function(cookiekey,childkey) { var child = thisGetCookie(cookiekey); var childs = childsplit(''); var getvalue = ""; for(var i = 0;i lt; childslength;i++) { if(childs[i]Trim()substr(0,childkeylength) == childkey) { getvalue = childs[i]Trim()substr(childkeylength + 1); break; } } return getvalue; }; thisSetCookie = function(key,value,expire,domain,path) { var cookie = ""; if(key != null  value != null) cookie += key + "=" + value + ";"; if(expire != null) cookie += "expires=" + expiretoGMTString() + ";"; if(domain != null) cookie += "domain=" + domain + ";"; if(path != null) cookie += "path=" + path + ";"; documentcookie = cookie; }; thisExpire = function(key) { expire_time = new Date(); expire_timesetFullYear(expire_timegetFullYear() - 1); var cookie = " " + key + "=e;expires=" + expire_time + ";" documentcookie = cookie; } } lt;/scriptgt; 用正则的方法读取cookie值 由于asp的cookie是经过url编码的,所以读之前要unescape一下。 下面是我用正则的方法取cookie,包括单值和多值: 复制代码 代码如下: /************************************************** 参数说明: sMainName Cookie名 sSubName Cookie子键名,留空表示单值Cookie **************************************************/ function GetCookie(sMainName, sSubName) { var re = new RegExp((sSubName ? sMainName + "=(?:*?)*?" + sSubName + "=([^;$]*)" : sMainName + "=([^;$]*)"),"i"); return retest(unescape(documentcookie)) ? RegExp["$1"] : ""; }
    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    蚂蚁站长论坛推荐上一条 /1 下一条

    QQ|Archiver|手机版|广告服务|蚂蚁站长-站长之家 ( 黔ICP备16008478号-1  

    GMT+8, 2017-10-19 07:39

    Powered by 站长论坛

    © 2007-2013 Jzant.com Inc.

    回顶部