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 Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
Javascript变量的作用域和作用域链详解
Apr 02 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
node.js实现爬虫教程
Aug 25 Javascript
AngularJs实现分页功能不带省略号的代码
May 30 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
Aug 28 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
May 07 Javascript
vue内置组件keep-alive事件动态缓存实例
Oct 30 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
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
div层的移动及性能优化
2010/11/16 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
阳光体育活动方案
2014/02/16 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
关于责任的演讲稿
2014/05/20 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
服务员岗位职责范本
2015/04/09 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书