用javascript在客户端删除某一个cookie键值对

下面这个方法展现如何在客户端浏览器上用javascript删除某一个cookie键值对。javascript

//用javascript删除某一个cookie的方法,该方法传入要删除cookie的名称
function RemoveCookie(cookieName) {
    var cookies = document.cookie.split(";");//将全部cookie键值对经过分号分割为数组

    //循环遍历全部cookie键值对
    for (var i = 0; i < cookies.length; i++) {
        //有些cookie键值对前面会莫名其妙产生一个空格,将空格去掉
        if (cookies[i].indexOf(" ") == 0) {
            cookies[i] = cookies[i].substring(1);
        }

        //比较每一个cookie的名称,找到要删除的那个cookie键值对
        if (cookies[i].indexOf(cookieName) == 0) {
            var exp = new Date();//获取客户端本地当前系统时间
            exp.setTime(exp.getTime() - 60 * 1000);//将exp设置为客户端本地时间1分钟之前,将exp赋值给cookie做为过时时间后,就表示该cookie已通过期了, 那么浏览器就会将其马上删除掉

            document.cookie = cookies[i] + ";expires=" + exp.toUTCString();//设置要删除的cookie的过时时间,即在该cookie的键值对后面再添加一个expires键值对,并将上面的exp赋给expires做为值(注意expires的值必须为UTC或者GMT时间,不能用本地时间),那么浏览器就会将该cookie马上删除掉
            //注意document.cookie的用法很巧妙,在对其进行赋值的时候是设置单个cookie的信息,可是获取document.cookie的值的时候是返回全部cookie的信息

            break;//要删除的cookie已经在客户端被删除掉,跳出循环
        }
    }
}
相关文章
相关标签/搜索