<SCRIPT>
function SetCookie(sName, sValue)
{
  date = new Date();
  document.cookie = sName + "=" + escape(sValue) + "; expires=" + date.toGMTString();
}function GetCookie(sName)
{  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) 
      return unescape(aCrumb[1]);
  } 
  return null;
}
</SCRIPT>

解决方案 »

  1.   

    给个完整的例子,显示上次访问时间<script language=javascript>function GetCookie (name) {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
          return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
      }
      return null;
    }function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1)
        endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }
    function SetCookie (name, value) {
    var expire_days = 30;//(保存的天数)
    var expire_date = new Date(); //new Date("December 31, 3666");//长期有效的办法
    var ms_from_now = expire_days*24*60*60*1000;
    expire_date.setTime(expire_date.getTime() + ms_from_now);
    var expire_string = expire_date.toGMTString();
    document.cookie = name + "=" + escape (value)+ ";expires=" +expire_string;
    }
    function window.onload(){//B页面打开时设置cookieA=B
    var last=GetCookie("cookieA");
    if(last) {
    var temp=last.split(";");
    alert("The last time you visit this page is:"+temp[0]);
    }
    else 
    alert("欢迎您第一次访问!");
    }function window.onunload(){//B页面打开时设置cookieA=B
    var d=new Date();
    SetCookie("cookieA",d)
    }function acceptA(){//接收cookieA,并进行处理
    if(GetCookie("cookieA")=="0"){
    self.opener=null;
    self.close();
    }
    }
    </script>
      

  2.   

    cookie中的数组操作?
    看下面的行不行?
    <script>function getCookie(str){
    var tmp,reg=new RegExp("(^| )"+str+"=([^;]*)(;|$)","gi");
    if(tmp=reg.exec(document.cookie))return(tmp[2]);
    return null;
    }var arr=["a","b","c"]
    var arr2=["d","e","f"]
    document.cookie="username=" + arr;
    document.cookie="password=" + arr2;if(arr=getCookie("username").split(","))alert(arr[1]);
    if(arr=getCookie("password").split(","))alert(arr[1]);
    </script>
      

  3.   

    假如我的Cookies的值里如果有";"号,那得出的结果不就出错了吗???
      

  4.   

    那就替换;为其他字符,如全角,读出来后再替换回来因为 document.cookie赋值是默认以;为分隔符
      

  5.   

    和你最初的想法可能有些不同,但是能达到最终要求吧?<script language=javascript>function GetCookie (name) {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
          return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
      }
      return null;
    }function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1)
        endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }
    function SetCookie (name, value) {
    var expire_days = 30;//(保存的天数)
    var expire_date = new Date(); //new Date("December 31, 3666");//长期有效的办法
    var ms_from_now = expire_days*24*60*60*1000;
    expire_date.setTime(expire_date.getTime() + ms_from_now);
    var expire_string = expire_date.toGMTString();
    document.cookie = name + "=" + escape (value)+ ";expires=" +expire_string;
    }function getValue(name,field){
    var arr=GetCookie(name).split("&");
    for(var i=0;i<arr.length;i++){
    var tmp=arr[i].split("=");
    if(tmp[0]==field) return tmp[1];
    }
    }SetCookie("zhangsan","name=张;三&性别=男");
    alert(getValue("zhangsan","name"));
    alert(getValue("zhangsan","性别"));
    </script>