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");不传参表示删除所有