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


Posted in Javascript onNovember 13, 2013

有时我们需要用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>
Javascript 相关文章推荐
深入理解JavaScript系列(16) 闭包(Closures)
Apr 12 Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
js 上下左右键控制焦点(示例代码)
Dec 14 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 Javascript
微信小程序实现轮播图效果
Sep 07 Javascript
浅析JavaScript中的特殊数据类型
Dec 15 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 Javascript
js 判断上传文件大小及格式代码
Nov 13 #Javascript
php跨域调用json的例子
Nov 13 #Javascript
JQuery文字列表向上滚动的代码
Nov 13 #Javascript
浅析Javascript使用include/require
Nov 13 #Javascript
js将字符串转成正则表达式的实现方法
Nov 13 #Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 #Javascript
如何判断鼠标是否在DIV的区域内
Nov 13 #Javascript
You might like
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
vue组件学习教程
2017/09/09 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
Python中的pass语句使用方法讲解
2015/05/14 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
python super用法及原理详解
2020/01/20 Python
python 函数中的参数类型
2020/02/11 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
python em算法的实现
2020/10/03 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
企业文化建设实施方案
2014/03/22 职场文书
工程承诺书怎么写
2014/05/24 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
2014年会计工作总结
2014/11/27 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书