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 相关文章推荐
js 实现css风格选择器(压缩后2KB)
Jan 12 Javascript
如何实现textarea里的不同文本显示不同颜色
Jan 20 Javascript
Javascript中3个需要注意的运算符
Apr 02 Javascript
jQuery实现Tab选项卡切换效果简单演示
Nov 23 Javascript
JS中生成随机数的用法及相关函数
Jan 09 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
Jun 28 Javascript
如何使用 vue + d3 画一棵树
Dec 03 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 27 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
用Flash图形化数据(二)
2006/10/09 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php Smarty模板生成html文档的方法
2010/04/12 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php查询whois信息的方法
2015/06/08 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
浅析js封装和作用域
2013/07/09 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
MAC中PyCharm设置python3解释器
2017/12/15 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
先进党支部事迹材料
2014/01/13 职场文书
活动邀请函范文
2014/01/19 职场文书
上班离岗检讨书
2014/01/27 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis