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 tab效果的实现代码
Dec 26 Javascript
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
jQuery中大家不太了解的几个方法
Mar 04 Javascript
JavaScript实现随机替换图片的方法
Apr 16 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
AngularJS 使用$sce控制代码安全检查
Jan 05 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
Sep 17 Javascript
Vue中使用vux的配置详解
May 05 Javascript
在vue.js中抽出公共代码的方法示例
Jun 08 Javascript
详解Immutable及 React 中实践
Mar 01 Javascript
详解vuex 渐进式教程实例代码
Nov 27 Javascript
JavaScript实现答题评分功能页面
Jun 24 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连mysql和oracle数据库性能比较
2006/10/09 PHP
使用 php4 加速 web 传输
2006/10/09 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
请解释virtual关键字的含义
2015/06/17 面试题
小学生暑假感言
2014/02/06 职场文书
高中毕业自我评价
2014/02/08 职场文书
同学会主持词
2014/03/18 职场文书
天河观后感
2015/06/11 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis