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 DOM 操作实现代码
Aug 01 Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 Javascript
原生js实现给指定元素的后面追加内容
Apr 10 Javascript
在javascript中对于DOM的加强
Apr 11 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
JavaScript中的Math 使用介绍
Apr 21 Javascript
使用jsonp完美解决跨域问题
Nov 27 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
JS功能代码集锦
May 04 Javascript
webpack4 入门最简单的例子介绍
Sep 05 Javascript
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
Postman内建变量常用方法实例解析
Jul 28 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文件下载实例代码浅析
2016/08/17 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
js下用eval生成JSON对象
2010/09/17 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
python获取本机mac地址和ip地址的方法
2015/04/29 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
学生信息管理系统python版
2018/10/17 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
三维科技面试题
2013/07/27 面试题
捐书倡议书
2014/08/29 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
工作年限证明模板
2014/11/01 职场文书
岳庙导游词
2015/02/04 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
终止劳动合同通知书
2015/04/16 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫