• js cookie 操作 封装


    pCookie.js

    (function(){
    
        var PotatogCookie = {};
        
        //设置cookie
        PotatogCookie.set = function(key, value, delay)
        {
            //默认cookie为七天之后过期 3s 4m 5h 7d 秒 分 时 天
            if(delay == "undefined")delay = "7d";
            delay = delay.toLowerCase();
            
            var expireDate = new Date();
            
            var num = parseInt(delay);
            if(delay.indexOf("d") !== -1)
            {
                expireDate.setDate(expireDate.getDate() + num);
            }
            else if(delay.indexOf("h") !== -1)
            {
                expireDate.setHours(expireDate.getHours() + num);
            }
            else if(delay.indexOf("m") !== -1)
            {
                expireDate.setMinutes(expireDate.getMinutes() + num);
            }
            else if(delay.indexOf("s") !== -1)
            {
                expireDate.setSeconds(expireDate.getSeconds() + num);
            }
            else
            {
                expireDate.setDate(expireDate.getDate() + num);
            }
            if(typeof value == "object")
            {
                value = JSON.stringify(value);
            }
            value = escape(value);
            document.cookie = key + "=" + value + ";expires=" + expireDate.toGMTString();
            return this.get(key);
        }
        
        //得到cookie 如果不存在 返回 undefined
        PotatogCookie.get = function(key)
        {
            var objCookie = {};
            var cookie = document.cookie;
            var keyValueList = cookie.split(";");
            for(var index in keyValueList)
            {
                var keyValue = keyValueList[index].split("=");
                var k = keyValue[0].trim();
                var v = keyValue[1];
             v = unescape(v); v
    = this.decodeJson(v); objCookie[k] = v; } if(typeof key == "undefined") { return objCookie; } return objCookie[key]; } //删除cookie PotatogCookie.del = function(key) { //删除所有cookie if(typeof key == "undefined") { var cookieList = this.get(); for(key in cookieList) { this.del(key); } return true; } else { if(this.get(key) == "undefined") { return false; } else { return this.set(key,'',"0s"); } } } PotatogCookie.decodeJson = function(value) { //数组转成的对象字符串 var regAryStr = /^[[s|S]*]$/; //对象转成的对象字符串 var regObjStr = /^{(["s|S]+":"[s|S]*)+"}$/; if(regAryStr.test(value)) { return eval("(" + value + ")"); } if(regObjStr.test(value)) { return JSON.parse(value); } return value; } window.pCookie = PotatogCookie; })(window);

    demo.html

    使用方式

    设置cookie

    pCookie.set("name","张三","7d");

    读取cookie 如果不存在 返回undefined

    var name = pCookie.get("name");不传参表示获得所有

    删除cookie

    pCookie.del("name");不传参表示删除所有

  • 相关阅读:
    20175122邱昕 网络对抗技术exp2后门的原理与实践
    2019-2020 20175122邱昕《网络对抗技术》Exp1 PC平台逆向破解
    day04 python——进程和线程
    day 03 python——面向对象编程进阶
    day02 python——面向对象进阶
    day01 python——面向对象编程基础
    day05
    day04 五层模型之间的通信过程及Linux的目录相关内容
    day03 计算机的性能及系统启动
    Linux入门终端命令
  • 原文地址:https://www.cnblogs.com/potatog/p/9328540.html
Copyright © 2020-2023  润新知