JavaScript Cookie 的使用

一、创建Cookie

document.cookie="username=aaaa";

可以为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。
默认情况下,cookie 在浏览器关闭时删除:

document.cookie="username=aaaa;expires=Sat, 15 Apr 2028 03:46:38 GMT;";

可以使用 path 参数告诉浏览器 cookie 的路径。
默认情况下,cookie 属于当前页面。(path=/)是根目录

document.cookie="username=aaaa;expires=Sat, 15 Apr 2028 03:46:38 GMT; path=/;";

二、修改 Cookie

和创建 Cookie类似,直接赋予新的值。

document.cookie="username=bbbb;expires=Sat, 15 Apr 2028 03:46:38 GMT; path=/;";

三、删除 Cookie

删除 cookie 非常简单。只需要设置 expires 参数为以前的时间即可。
注意,当删除时不必指定 cookie 的值。

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

四、获取 Cookie

使用以下代码来读取 cookie , 获取到的值像一个普通的文本字符串,其实它不是。
如:cookie1=value; cookie2=value;

var a = document.cookie;
console.log(a);

五、使用Cookie

重点内容创建、修改、删除 Cookie 使用函数
cookie 的名称为 cname,cookie 的值为 cvalue,并设置了 cookie 的过期时间 expires。 如需设置路径,在创建时添加参数path

function setCookie(cname,cvalue,exdays)
{
    var d = new Date();
    d.setTime(d.getTime()+(exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

获取 cookie 值的函数
cookie 名的参数为 cname。
创建一个文本变量用于检索指定 cookie :cname + “=”。
使用分号来分割 document.cookie 字符串,并将分割后的字符串数组赋值给 ca (ca = document.cookie.split(‘;’))。
循环 ca 数组,然后读取数组中的每个值,并去除前后空格 (c=ca[i].trim())。
如果找到 cookie(c.indexOf(name) == 0),返回 cookie 的值 (c.substring(name.length,c.length)。
如果没有找到 cookie, 返回 “”。

function getCookie(cname)
{
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) 
    {
        var c = ca[i].trim();
        if (c.indexOf(name)==0) return c.substring(name.length,c.length);
    }
    return "";
}

或者

function getCookie_(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]);
    return null
}

猜你喜欢

转载自blog.csdn.net/weicy1510/article/details/79990026