比目前最受好评的答案更简短,更可靠,更高效:
function getcookievalue(a) { var b = document.cookie.match('(^|[^;]+)\s*' + a + '\s*=\s*([^;]+)'); return b ? b.pop() : '';}
(编辑:
'(^|;)\s*'=>
'(^|[^;]+)\s*',以前仅适用于第一个cookie)
有关方法的一些注意事项:
regex方法不仅在大多数浏览器中最快,而且功能最短。此外,应该指出的是,根据正式规范(RFC2109),在document.cookie中用于分隔cookie的分号后的空格是可选的,并且可以提出不应依赖它的论点。另外,在等号(=)之前和之后都允许使用空格,并且可以提出这样的论点,即应将这一潜在的空格纳入任何可靠的document.cookie解析器。上面的正则表达式说明了上述两个空白条件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)