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 相关文章推荐
XHTML下,JS浮动代码失效的问题
Nov 12 Javascript
用jquery.sortElements实现table排序
May 04 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
Sep 25 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
Oct 10 Javascript
angular bootstrap timepicker TypeError提示怎么办
Jun 13 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
electron+vue实现div contenteditable截图功能
Jan 07 Javascript
在antd4.0中Form使用initialValue操作
Nov 02 Javascript
js前端对于大量数据的展示方式及处理方法
Dec 02 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
解密效果
2006/06/23 Javascript
jquery $.ajax入门应用一
2008/11/19 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
Python使用asyncio包处理并发详解
2017/09/09 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
python list格式数据excel导出方法
2018/10/31 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
大学生党课思想汇报
2013/12/29 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
核心价值观演讲稿
2014/05/13 职场文书
三方合作意向书范本
2015/05/09 职场文书
Python中三种花式打印的示例详解
2022/03/19 Python
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS