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类的定义
Jun 28 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
JS在onclientclick里如何控制onclick的执行
May 30 Javascript
Angular 路由route实例代码
Jul 12 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
Bootstrap fileinput文件上传组件使用详解
Jun 06 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
js+css实现红包雨效果
Jul 12 Javascript
vue中的适配px2rem示例代码
Nov 19 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
May 02 Javascript
JS highcharts动态柱状图原理及实现
Oct 16 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网站基础优化方法小结
2008/09/29 PHP
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
Smarty变量用法详解
2016/05/11 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
Python pickle模块用法实例分析
2015/05/27 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
一套C++笔试题面试题
2012/06/06 面试题
医院护士专业个人的求职信
2013/12/09 职场文书
班组长岗位职责范本
2014/01/05 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
2022/09/23 HTML / CSS