读Cookie值,支持普通cookie和含子健的cookie

      //读取Cookie值
        /*  参数说明
                 rest表示可空参数
                 第一个参数是存的cookie名称
                 第二个参数是第一个参数名称下的子键
                 有子键就写,没有就不写
           */
        function getCookie(name, rest) {
            var dd;
            var cookies = document.cookie.split(";");    //cookie的类型有很多,你要确定你需要获取什么
            $.each(cookies, function (i, item) {
                item = item.trim();//先把空格去了
                if (item.indexOf(name) > -1) {
                    //你先的理解cookie这个位子才好理解   cookie可以有子键,也可以没有子键
                    //①格式: 名字=值
                    if (rest.length === 0) {
                        var names = item.split("=")
                        //console.log(`名字;${names[0]},值:${names[1]}`);
                        dd = names[1];
                    }
                    else {
                        //②格式:名字=子键=值&子键1=值1&子键2=值2
                        //这种的麻烦在于它的子键可以有很多
                        var arry = item.split("&");     //取到所有的子键和值,注意:此集合的第一项,多了个名字
                        if (arry.length > 1) {
                            $.each(arry, function (a, b) {
                                if (b.indexOf(rest) > -1) {
                                    var names = b.split("=");
                                    if (names[0] == name) {    //判断是否带cookie的名字
                                         //console.log(`名字:${name},子键:${names[1]},值:${names[2]}`);
                                        dd = names[2];
                                    } else {
                                        //console.log(`名字:${name},子键:${names[0]},值:${names[1]}`);
                                        dd = names[1];
                                    }
                                }
                            });
                        } else {
                            var arry1 = arry[0].split("=");
                            //console.log(`名字:${name},子键:${arry1[1]},值:${arry1[2]}`);
                            dd = arry1[2];
                        }
                    }
                }
            });
            return dd;
        };
原文地址:https://www.cnblogs.com/xinloverong/p/13259488.html