zoukankan      html  css  js  c++  java
  • cookie的使用

    从as到js,最开心的就是能直接用cookie了。今天研究了一下,记录如下:

    //写入cookie
    function setCookie (name,value) {
        var days = 30;//30天过期
        var exp = new Date();
        exp.setTime(exp.getTime() +days*24*60*60*1000);
        document.cookie = name +"="+ escape(value)+";expires=" +exp.toGMTString();
    }
    //读取cookie
    function getCookie(name) {
        var arr;
        var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
        if (arr=document.cookie.match(reg)) {
            return unescape(arr[2]);
        }else{
            return null;
        }
    }
    //删除cookie
    function delCookie(name) {
        var exp = new Date();
        exp.setTime(exp.getTime()-1);
        var cval = getCookie(name);
        if (cval !=null) {                      
    document.cookie=name+"="+cval+";expires="+exp.toGMTString(); } }

    使用:

    //设置
    setCookie("name","jay");
    //获取
    getCookie("name");
    //删除
    delCookie("name");

     说明:

    1. 每个cookie都是一个名/值对;可以把字符串赋值:document.cookie="UserId";

    2. 在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。所以要使用escape来包裹要赋的值,使用十六进制来表示。

        然后读取的时候,再用unescape来解码,得到原来的值。

    3. 如果要赋多个值,只能一个一个单独赋值。(资料里说可以用;(分号)来隔开,我测试不成功)

    4. 可以设置路径path=/是网站根目录;例:document.cookie="userId=320; path=/";

    5. 简单读取时,用split分隔成数组返回,再做操作。 

    参考资料来源:http://www.jb51.net/article/14566.htm

  • 相关阅读:
    Centos7安装gitlab私服
    SpringBoot2.x开发WebSocket
    java中 DecimalFormat格式的定义
    Docker部署Reids实战单机、集群
    CCF地铁修建
    C题:A Water Problem(dp||搜索)
    A题:Common Substrings(KMP应用)
    HDU 1879 继续畅通工程(Prim||Kruscal模板题)
    魔兽世界之一:备战(模拟)
    F题:等差区间(RMQ||线段树)
  • 原文地址:https://www.cnblogs.com/dragonwave/p/4735796.html
Copyright © 2011-2022 走看看