js获取浏览器cookie值函-数封装

cookie中的值   每个明知对用分号;隔开。所以我们设置cookie这样设置
document.cookie="user=dai;age=45"
设置cookie的生命周期
  设置cookie的生命周期使用expires这个名,单位是天,现在出一个新的名叫max-age单位是秒。
删除cookie
  将生命周期提前结束,就是删除cookie

有些浏览器不识别汉字需要编码
encodeURIComponent()    对汉字进行编码
decodeURIComponent()   对编码的结果进行解码

decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码

<script type="text/javascript">
    var test1="http://www.w3school.com.cn/My first/"
    document.write(encodeURI(test1)+ "<br />")//编码
    document.write(decodeURI(test1))//解码
</script>

http://www.w3school.com.cn/My%20first///编码之后的结果
http://www.w3school.com.cn/My first///解码之后的结果

实现方法

ar getParam = function (name) {
var r = new RegExp("(\?|#|&)" + name + "=([^&#\?]*)(&|#|$|\?)");
var m = window.location.href.match(r);
//正则表达式匹配,返回的是一个数组
return decodeURI(!m ? "" : m[2]);
};

将所有存储的cookie都存入一个对象

function deal(){ var cookie = document.cookie;
var arr = cookie.split('; ');//注意是 分号空格
var obj = {};
    arr.forEach(function(item){
       var itemArr = item.split('=');
       obj[itemArr[0]] = itemArr[1];
})
    return obj;
}

返回的是参数对应的cookie

function getCookie(name){
    var arr = document.cookie.split("; ");//注意是分号空格
    for(var i = 0;i<arr.length;i++){
        var arrName = arr[i].split("=");
       if(arrName[0] == name){
            return arrName[1];
        }
    }
    return " ";
}

 

 

 

posted @ 2023-06-28 19:46  JackieDYH  阅读(49)  评论(0编辑  收藏  举报  来源