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

  • 相关阅读:
    U-Learning服务端
    C# 向txt文件中写入
    二维码生成 Gma.QrCodeNet (目前测试支持.net4.0及以上,但vs版本2010不可以 NuGet中搜索不到程序包)
    数据显示按规格向datatable中增加空白记录
    sql server 查询出整数 (可灵活运用)
    sql server 列字段拼接 —— STUFF
    layui confirm 嵌套使用 (随笔记)
    sql server 随记 -- 月份/日期 查询
    SQL Server 数据库备份语句
    关于ScriptManager.RegisterStartupScript 摘录
  • 原文地址:https://www.cnblogs.com/potatog/p/9328540.html
Copyright © 2020-2023  润新知