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 验证表单(form)中的单选(radio)值
Sep 08 Javascript
javascript Keycode对照表
Oct 24 Javascript
window.location.href IE下跳转失效的解决方法
Mar 27 Javascript
js使用removeChild方法动态删除div元素
Aug 01 Javascript
基于javascript代码实现通过点击图片显示原图片
Nov 29 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
Jan 28 Javascript
JS Canvas定时器模拟动态加载动画
Sep 17 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
vue路由传参页面刷新参数丢失问题解决方案
Oct 08 Javascript
如何在微信小程序中存setStorage
Dec 13 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
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
ajax异步请求详解
2017/01/06 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
python 全局变量的import机制介绍
2017/09/07 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
C#面试常见问题
2013/02/25 面试题
测绘工程本科生求职信
2013/10/10 职场文书
詹天佑教学反思
2014/04/30 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
团队会宣传标语
2014/10/09 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
研究生导师评语
2014/12/31 职场文书
标准发言稿结尾
2019/07/18 职场文书
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android