关于JavaScript getCookie函数的澄清?

时间:2012-03-25 19:52:36

标签: javascript cookies

首先在checkCookie函数中调用getCookie函数,如下所示:

var username=getCookie("username");

这就是功能:

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
  {
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

我对整体情况感到迷茫。为什么你会分开;,主要是xy行的原因是什么。 The source is here。我感谢任何提示或建议。

2 个答案:

答案 0 :(得分:2)

获取cookie值的最有效方法是使用正则表达式。

function cookie_get(n){
  return (n=(document.cookie+';').match(new RegExp(n+'=.*;')))&&n[0].split(/=|;/)[1]
}

答案 1 :(得分:1)

Cookie始终存储为:key1 = value1; key2 = value2

所以分裂;是将所有键值对读入ARRcookies变量。 然后,对于每个cookie,将密钥读入x,将值读入y