按名称查找cookie,然后使用javascript返回包含值的cookie(无jquery)

按名称查找cookie,然后使用javascript返回包含值的cookie(无jquery),javascript,cookies,Javascript,Cookies,是否有一种从document.cookie获取cookie的惰性方法 如果document.cookie是 abc\u tracker=abc\u访问时间%3D1435256807463%7Cabc\u活动id%3D0%7Cabc\u广告组id%3D0%7Cabc\u内容\u id%3D0%7Cabc\u中间%3DReference%7Cabc\u来源%3Dblog。示例。com%7Cabc\u活动%3Dnone%7Cabc\u广告组%3Dnone%7Cabc\u内容%3Dnone%7Cabc\

是否有一种从document.cookie获取cookie的惰性方法

如果document.cookie是

abc\u tracker=abc\u访问时间%3D1435256807463%7Cabc\u活动id%3D0%7Cabc\u广告组id%3D0%7Cabc\u内容\u id%3D0%7Cabc\u中间%3DReference%7Cabc\u来源%3Dblog。示例。com%7Cabc\u活动%3Dnone%7Cabc\u广告组%3Dnone%7Cabc\u内容%3Dnone%7Cabc\u术语%3Dnone%7Cabc\u匹配%3Dnone%7Cabc\u关键字%7Cabc\u参考%3DU%3DU%3DU%3DU%3DUB3DHES5JB20VP19NYT0XLJM4NTGYNJKXLJEYMTG5NTK2MI4XDM1MJQ5OTU2%7Cabc参考url%3DAHR0CDOVL2JSB2CUZ293YXKUY29TL2DSB2JLDHJVDHRPBMCVP19NYT0XLJM4NTGYNJKXLJEYMTG5NTK2MI4XDM1MJQ5OTU2; viewedOuibounceModal=true;最后一张幻灯片视图=1435262685800; LAST_SLIDEIN_TYPE=聊天室; c_m=vst_频道%3未定义%7Cvst_关键字%3未定义%7Cvst_引用域%3未定义%7Cvst_活动%3未定义; __atuvc=11%7C25__atuvs=558d4a4029c67edc001;bloglinding=false;vst_tracker=id%3D143532288223%7Cvid%3D1435256807463%7Cmedium%3Ddirect%7Centry_页面_url%3Dhttp%253A%252F%252Fwww.example.com%252F; __utma=148710120.217599539.1435256807.1435262252.1435322883.3__utmb=148710120.18.10.1435322883__utmc=148710120__utmz=148710120.1435256807.1.1.utmcsr=blog.example.com | utmccn=(转介)| utmcmd=转介| utmcct=/globetrotting/; __utmv=148710120.| 1=vtime=1435256807463=1;abc页面计数=7;s_cc=真;s_fid=0B06C0537063F838-34C8F3D8F41ABCC8; s_sq=%5B%5BB%5D%5D_ga=GA1.2.121895962.1435249956; __ar_v4=6UZ4UQZOCVE2RJGEKNO2AE%3A20150625%3A2%7CLDQ27DO6EFHARNHUHZLKF3%3A20150625%3A41%7CrylayAX2L7NBGHDJQDJYYL%3A20150625%3A41%7CDYK2HT5L5FGJNJFVXXPM4K%3A20150625%3A38%7CVIWWR64QNBEITBPWIV5TWP%3A20150625%3A1

比如说我想找到那块饼干。阅读上面的cookie(靠近底部),整个事情就是
\u ga=GA1.2.121895962.1435249956

仅使用香草Javascript,最简单的检索方法是什么

我试着用火柴,结果掉进了兔子洞:

var bla = document.cookie.match(/_ga/) // returns the matched string.
bla.input // returns the whole thing.

根据输入“_ga”,返回以下值的简单方法是什么:
_ga=GA1.2.121895962.1435249956

首先,设置函数

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
编辑 通过REGEXP

function readCookie(cookieName) {
 var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)');
 var sMatch = (' '+document.cookie).match(re);
 if (cookieName && sMatch) return unescape(sMatch[1]);
 return '';
}
然后

或者,只是REGEXP代码

var cookie = "_ga"
var re = new RegExp('[; ]'+cookie+'=([^\\s;]*)');
var cookieVal = unescape((' '+document.cookie).match(re)[1]);

console.log(cookieVal); //GA1.2.116321536.1432242890

首先,设置函数

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
编辑 通过REGEXP

function readCookie(cookieName) {
 var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)');
 var sMatch = (' '+document.cookie).match(re);
 if (cookieName && sMatch) return unescape(sMatch[1]);
 return '';
}
然后

或者,只是REGEXP代码

var cookie = "_ga"
var re = new RegExp('[; ]'+cookie+'=([^\\s;]*)');
var cookieVal = unescape((' '+document.cookie).match(re)[1]);

console.log(cookieVal); //GA1.2.116321536.1432242890

首先,设置函数

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
编辑 通过REGEXP

function readCookie(cookieName) {
 var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)');
 var sMatch = (' '+document.cookie).match(re);
 if (cookieName && sMatch) return unescape(sMatch[1]);
 return '';
}
然后

或者,只是REGEXP代码

var cookie = "_ga"
var re = new RegExp('[; ]'+cookie+'=([^\\s;]*)');
var cookieVal = unescape((' '+document.cookie).match(re)[1]);

console.log(cookieVal); //GA1.2.116321536.1432242890

首先,设置函数

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
编辑 通过REGEXP

function readCookie(cookieName) {
 var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)');
 var sMatch = (' '+document.cookie).match(re);
 if (cookieName && sMatch) return unescape(sMatch[1]);
 return '';
}
然后

或者,只是REGEXP代码

var cookie = "_ga"
var re = new RegExp('[; ]'+cookie+'=([^\\s;]*)');
var cookieVal = unescape((' '+document.cookie).match(re)[1]);

console.log(cookieVal); //GA1.2.116321536.1432242890
请尝试以下操作:

var _ga = document.cookie.split(';').map(function(x) {
  return x.trim().split(/(=)/);
}).reduce(function(a, b) {
  a[b[0]] = a[b[0]] ? a[b[0]] + ', ' + b.slice(2).join('') :
    b.slice(2).join('');
  return a;
}, {})["_ga"]; // <--- cookie you are looking for.

console.log(_ga);
var\u ga=document.cookie.split(“;”).map(函数(x){
返回x.trim().split(/(=)/);
}).减少(功能a、b){
a[b[0]]=a[b[0]]?a[b[0]+','+b.slice(2).连接(''):
b、 切片(2)。连接(“”);
返回a;
},{})[“_ga”];// 请尝试以下操作:

var _ga = document.cookie.split(';').map(function(x) {
  return x.trim().split(/(=)/);
}).reduce(function(a, b) {
  a[b[0]] = a[b[0]] ? a[b[0]] + ', ' + b.slice(2).join('') :
    b.slice(2).join('');
  return a;
}, {})["_ga"]; // <--- cookie you are looking for.

console.log(_ga);
var\u ga=document.cookie.split(“;”).map(函数(x){
返回x.trim().split(/(=)/);
}).减少(功能a、b){
a[b[0]]=a[b[0]]?a[b[0]+','+b.slice(2).连接(''):
b、 切片(2)。连接(“”);
返回a;
},{})[“_ga”];// 请尝试以下操作:

var _ga = document.cookie.split(';').map(function(x) {
  return x.trim().split(/(=)/);
}).reduce(function(a, b) {
  a[b[0]] = a[b[0]] ? a[b[0]] + ', ' + b.slice(2).join('') :
    b.slice(2).join('');
  return a;
}, {})["_ga"]; // <--- cookie you are looking for.

console.log(_ga);
var\u ga=document.cookie.split(“;”).map(函数(x){
返回x.trim().split(/(=)/);
}).减少(功能a、b){
a[b[0]]=a[b[0]]?a[b[0]+','+b.slice(2).连接(''):
b、 切片(2)。连接(“”);
返回a;
},{})[“_ga”];// 请尝试以下操作:

var _ga = document.cookie.split(';').map(function(x) {
  return x.trim().split(/(=)/);
}).reduce(function(a, b) {
  a[b[0]] = a[b[0]] ? a[b[0]] + ', ' + b.slice(2).join('') :
    b.slice(2).join('');
  return a;
}, {})["_ga"]; // <--- cookie you are looking for.

console.log(_ga);
var\u ga=document.cookie.split(“;”).map(函数(x){
返回x.trim().split(/(=)/);
}).减少(功能a、b){
a[b[0]]=a[b[0]]?a[b[0]+','+b.slice(2).连接(''):
b、 切片(2)。连接(“”);
返回a;

},{})[“_ga”];//谢谢你的回答。我知道这会有用的。我应该更明确一些:我希望在match()中使用正则表达式得到一个更懒(少行)的解决方案看看我的答案编辑(:现在你得到了你想要的。这很好,谢谢!谢谢你的答案。我知道这会行得通。我应该更明确一些:我希望在match()中使用正则表达式得到一个更懒(少行)的解决方案查看我的答案编辑(:现在你得到了你想要的。这很好,谢谢!谢谢你的答案。我知道这会起作用。我应该更明确:我希望在match()中使用正则表达式可以得到一个更懒(更少行数)的解决方案查看我的答案编辑(:现在你得到了你想要的。这很好,谢谢!谢谢你的回答。我知道这会起作用。我应该说得更清楚:我希望在match中使用正则表达式可以得到一个更懒(更少行)的解决方案()看我的答案编辑(:现在你得到了你想要的。这很好,谢谢!