jquery操作cookie

1、index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Cookies</title>
  <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
  <script src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js" type="text/javascript" charset="utf-8"></script>
  <script src="./js/jquery.base64.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript">
    $(function(){
      //读取
      $('#user').val($.cookie('user'));

      //解密
      if($.cookie('pass')){
        pass = $.base64.decode($.cookie('pass'));
        $('#pass').val(pass);
      }

      //提交新建
      $(".sub").click(function(){
        if($('#check').is(':checked')){
          $.cookie("user", $('#user').val(), { expires: 7 });
          //加密
          var pass = $('#pass').val();
          pass = $.base64.encode(pass);
          $.cookie("pass", pass, { expires: 7 });
        }else{
          //删除
          $.cookie("user", '', { expires: -1 });
          $.cookie("pass", '', { expires: -1 });
        }
      });

      //删除
      $('.clearCookie').click(function(){
        $.cookie("user", '', { expires: -1 });
        $.cookie("pass", '', { expires: -1 });
      });

      //持续时间
      $.cookie('myCookie1', '我是7天的Cookie', { expires: 7 });
      var time = new Date();
      time.setTime(time.getTime() + (60*60*1000));
      $.cookie('myCookie2', '我是1小时的Cookie', { expires: time });
      //存储路径,方便其他页面获取该cookie
      $.cookie('myCookie3', '我是存储在根目录的Cookie', { expires: 7, path: '/' });
    })
  </script>
</head>
<body>
  <form>
    <h3>登录</h3>
    <div>
      用户名: <input type="text" name="" id="user" value="" placeholder="用户名" />
    </div>
    <div>
      密码: <input type="password" name="" id="pass" value="" placeholder="密码" />
    </div>
    <div class="check">
      <input type="checkbox" name="" id="check" value="" />
      <label for="check">记住密码?</label>
    </div>
    <input type="button" class="sub" value="登录"/>
  </form>
  <button class="clearCookie">清空缓存</button>
</body>
</html>

2、js/jquery.base64.js

;(function($) {
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
        a256 = '',
        r64 = [256],
        r256 = [256],
        i = 0;

    var UTF8 = {
        encode: function(strUni) {
            var strUtf = strUni.replace(/[\u0080-\u07ff]/g, 
            function(c) {
                var cc = c.charCodeAt(0);
                return String.fromCharCode(0xc0 | cc >> 6, 0x80 | cc & 0x3f);
            })
            .replace(/[\u0800-\uffff]/g,
            function(c) {
                var cc = c.charCodeAt(0);
                return String.fromCharCode(0xe0 | cc >> 12, 0x80 | cc >> 6 & 0x3F, 0x80 | cc & 0x3f);
            });
            return strUtf;
        },
        decode: function(strUtf) {
            var strUni = strUtf.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g,
            function(c) {
                var cc = ((c.charCodeAt(0) & 0x0f) << 12) | ((c.charCodeAt(1) & 0x3f) << 6) | (c.charCodeAt(2) & 0x3f);
                return String.fromCharCode(cc);
            })
            .replace(/[\u00c0-\u00df][\u0080-\u00bf]/g,
            function(c) { 
                var cc = (c.charCodeAt(0) & 0x1f) << 6 | c.charCodeAt(1) & 0x3f;
                return String.fromCharCode(cc);
            });
            return strUni;
        }
    };
    while(i < 256) {
        var c = String.fromCharCode(i);
        a256 += c;
        r256[i] = i;
        r64[i] = b64.indexOf(c);
        ++i;
    }
    function code(s, discard, alpha, beta, w1, w2) {
        s = String(s);
        var buffer = 0,
            i = 0,
            length = s.length,
            result = '',
            bitsInBuffer = 0;
        while(i < length) {
            var c = s.charCodeAt(i);
            c = c < 256 ? alpha[c] : -1;
            buffer = (buffer << w1) + c;
            bitsInBuffer += w1;
            while(bitsInBuffer >= w2) {
                bitsInBuffer -= w2;
                var tmp = buffer >> bitsInBuffer;
                result += beta.charAt(tmp);
                buffer ^= tmp << bitsInBuffer;
            }
            ++i;
        }
        if(!discard && bitsInBuffer > 0) result += beta.charAt(buffer << (w2 - bitsInBuffer));
        return result;
    }

    var Plugin = $.base64 = function(dir, input, encode) {
            return input ? Plugin[dir](input, encode) : dir ? null : this;
        };
    Plugin.btoa = Plugin.encode = function(plain, utf8encode) {
        plain = Plugin.raw === false || Plugin.utf8encode || utf8encode ? UTF8.encode(plain) : plain;
        plain = code(plain, false, r256, b64, 8, 6);
        return plain + '===='.slice((plain.length % 4) || 4);
    };

    Plugin.atob = Plugin.decode = function(coded, utf8decode) {
        coded = coded.replace(/[^A-Za-z0-9\+\/\=]/g, "");
        coded = String(coded).split('=');
        var i = coded.length;
        do {--i;
            coded[i] = code(coded[i], true, r64, a256, 6, 8);
        } while (i > 0);
        coded = coded.join('');
        return Plugin.raw === false || Plugin.utf8decode || utf8decode ? UTF8.decode(coded) : coded;
    };
}(jQuery));

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值