然后Javascript设置显示cookie值

时间:2015-07-20 13:43:15

标签: javascript cookies

我的问题似乎很容易,但我无法使其发挥作用;我想设置一个名为“splash”的cookie变量然后显示它(后来我想在IF子句中使用) 这是我的代码:

<html>
   <head>
      <script type="text/javascript">
document.cookie =  "splash=" + encodeURIComponent("blue theme")
   var re = new RegExp(splash + "=([^;]+)");
    var value = re.exec(document.cookie);
    alert(value);
   </script>
   </head>
 <body>
 </body>
</html>

2 个答案:

答案 0 :(得分:1)

您应该更改正则表达式以将splash作为引用字符串的一部分包含在内。即使spash是你在cookie中使用的变量,它也不会自动成为javascript变量。

document.cookie = "splash=" + encodeURIComponent("blue theme")
var re = new RegExp("splash=([^;]+)");
var theme = re.exec(document.cookie)[1];

re.exec返回一个数组。第一个元素是整个匹配的字符串(包括splash=)。第二个是您的捕获组(blue%20theme)。

答案 1 :(得分:0)

使用以下功能设置和获取Cookie

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 = "";
    }
    var fixedName = '';
    name = fixedName + name;
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(name) 
{
   var value = "; " + document.cookie;
   var parts = value.split("; " + name + "=");
   if (parts.length == 2) return parts.pop().split(";").shift();
}
function eraseCookie(name) 
{
    createCookie(name, "", -1);
}