JavaScript Cookie的读取和写入函数

  Html代码:

  

复制代码 代码如下:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

  <html>

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  <title>JavaScript与Cookie(一)</title>

  </head>

  <body>

  <form name="frm1" method="post" onsubmit="savecookie()">

  <p>CookieMessage:<input type="text" name="cookieInfo" size="50"/></p>

  <p>Valid-time:<input type="text" name="time" size="10" value="30"/>Please input a integer.</p>

  <div style="border:1px solid #ccc;" id="divInfo"></div>

  <p><input type="submit" name="submit" value="Submit">

  <input type="reset" name="reset" value="Reset"/></p>

  <p><input type="button" onclick="writeAllCookie()" value="writeAllCookie"/></p>

  <p><input type="text" name="txtGetSpc"/> <input type="button" value="GetSpecificCookie" onclick="getCk()" </p>

  </form>

  </body>

  </html>

  Js代码:

  

复制代码 代码如下:

  <script language="JavaScript" type="text/javascript">

  /*

  * 设置Cookie的通用函数,其中name是必须的参数。其它为可选,故用条件语句判断。

  * 在设置Cookie时若不设置过期时间则该Cookie为临时的,仅当此次会话可用

  */

  function setcookie(name, value, expires, path, domain, secure) {

  var curcookie = name + "=" + encodeURI(value)

  +((expires) ? ";expires=" + expires.toGMTString() : "")

  +((path) ? ";path=" + path : "")

  +((domain) ? ";domain=" + domain : "")

  +((secure) ? ";secure" : "");

  document.cookie = curcookie;

  }

  //Cookie的写入

  function savecookie() {

  var cookieInfo = document.frm1.cookieInfo.value;

  var time = document.frm1.time.value;

  var now = new Date();

  now.setDate( now.getDate() + time);

  setcookie("myCookie",cookieInfo,now);

  document.write(decodeURI(document.cookie));

  }

  //读取所有Cooke

  function writeAllCookie() {

  document.cookie = "name1=" + encodeURI("名字1");

  document.cookie = "name2=" + encodeURI("名字2");

  document.cookie = "name3=" + encodeURI("名字3");

  var strInfo;

  var cookie = document.cookie.split(";");

  for(var i=0; i<cookie.length; i++) {

  var ck = cookie[i].split("=");

  var cName = ck[0];

  var cValue = decodeURI(ck[1]);

  strInfo += cName + "=" + cValue +"<br>";

  }

  document.getElementById("divInfo").innerHTML = strInfo;

  }

  /*

  * 读取特定Cookie的通用函数

  */

  function getSpecificCookie(name) {

  if(document.cookie.length > 0) {

  start = document.cookie.indexOf(name + "=");

  if( start != -1) {

  start = start + name.length + 1;

  end = document.cookie.indexOf(";",start);

  if( end == -1) {

  end = document.cookie.length;

  }

  }

  return decodeURI(document.cookie.substring(start,end));

  }

  return "";

  }

  function getCk(){

  name = document.frm1.txtGetSpc.value;

  alert( getSpecificCookie(name));

  }

  </script>