JS保存和删除cookie操作 判断cookie是否存在

  有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法。

  

复制代码 代码如下:

  a=getCookie("username3");

  c_start=document.cookie.indexOf("username3=");

  if(c_start == -1){

  $("#login_form").show();

  $("#logined").hide();

  }

  else{

  $("#login_form").hide();

  $("#logined").show();

  $("#ustr").html(a);

  }

  正确方法是:判断是否存在名为username3的cookie,使用document.cookie.indexOf(“username3=”)来判断,如果返回值是-1,表示不存在。

  JS保存、删除cookie操作

  用js保存、删除cookie操作比较方便,不用在程序里面写,改起来也容易,比较全的用js保存、删除cookie操作的方法如下:

  

复制代码 代码如下:

  <script language=javascript>

  //获得coolie 的值

  function cookie(name){

  var cookieArray=document.cookie.split("; "); //得到分割的cookie名值对

  var cookie=new Object();

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

  var arr=cookieArray[i].split("=");       //将名和值分开

  if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值

  }

  return "";

  }

  function delCookie(name)//删除cookie

  {

  document.cookie = name+"=;expires="+(new Date(0)).toGMTString();

  }

  function getCookie(objName){//获取指定名称的cookie的值

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

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

  var temp = arrStr[i].split("=");

  if(temp[0] == objName) return unescape(temp[1]);

  }

  }

  function addCookie(objName,objValue,objHours){      //添加cookie

  var str = objName + "=" + escape(objValue);

  if(objHours > 0){                               //为时不设定过期时间,浏览器关闭时cookie自动消失

  var date = new Date();

  var ms = objHours*3600*1000;

  date.setTime(date.getTime() + ms);

  str += "; expires=" + date.toGMTString();

  }

  document.cookie = str;

  }

  function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值

  {

  var Days = 30; //此 cookie 将被保存 30 天

  var exp = new Date();    //new Date("December 31, 9998");

  exp.setTime(exp.getTime() + Days*24*60*60*1000);

  document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();

  }

  function getCookie(name)//取cookies函数

  {

  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));

  if(arr != null) return unescape(arr[2]); return null;

  }

  function delCookie(name)//删除cookie

  {

  var exp = new Date();

  exp.setTime(exp.getTime() - 1);

  var cval=getCookie(name);

  if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();

  }

  </script>