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 相关文章推荐
jQuery EasyUI NumberBox(数字框)的用法
Jul 08 Javascript
script的async属性以非阻塞的模式加载脚本
Jan 15 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
Jan 09 Javascript
JavaScript实现图片滑动切换的代码示例分享
Mar 06 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 Javascript
jquery Form轻松实现文件上传
May 24 jQuery
AngularJS select设置默认值的实现方法
Aug 25 Javascript
Nuxt升级2.0.0时出现的问题(小结)
Oct 08 Javascript
Vue 指令实现按钮级别权限管理功能
Apr 23 Javascript
小程序富文本提取图片可放大缩小
May 26 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
Nov 09 Javascript
JS常用跨域方法实现原理解析
Dec 09 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
配置支持SSI
2006/11/25 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
python支持多继承吗
2020/06/19 Python
python中的错误如何查看
2020/07/08 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
园林毕业生自我鉴定范文
2013/12/29 职场文书
运动会广播稿80字
2014/01/23 职场文书
科研先进个人典型材料
2014/01/31 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
请假条标准格式规范
2014/04/10 职场文书
就业协议书的作用
2014/04/11 职场文书
主要领导对照检查材料
2014/08/26 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
体育部部长竞选稿
2015/11/21 职场文书
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android