[英]regex in js ,get the value from cookie
我想获取cookie中“键”的“值”,cookie的格式为:
KEY1:数值;键2:值2; ...... keyn:值N
因为JS不支持(?<=exp)
,所以我使用此函数来获取值:
function getCookieValue(key)
{
var cookie = document.cookie;
var filter = new RegExp(key+"=([^;]*)(;|$)");
return cookie.match(filter)[1];
}
结果是正确的,但是我有一些疑问:
cookie.match(filter)
,则匹配结果为key:value;,value
。 正则表达式匹配两个结果。 为什么? cookie.match(filter)[1]
,返回的数组是否取决于JS解析器? 如果我使用cookie.match(filter),则匹配结果为“ key:value;,value”。 雷克斯匹配两个结果,为什么?
String#match
函数的结果值是一个数组,其中数组的第一个索引保存完整匹配,而数组中的后续元素保存匹配组。
对于cookie.match(filter)[1],返回的数组是否取决于JS解析器?
不,这不依赖于特定的JS解析器,该行为是标准的。
有没有更好的方法?
我确定那里有cookie解析器库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.