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 相关文章推荐
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 Javascript
js时间日期格式化封装函数
Dec 02 Javascript
JS+CSS实现可拖动的弹出提示框
Feb 16 Javascript
Json解析的方法小结
Jun 22 Javascript
超全面的javascript中变量命名规则
Feb 09 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
ionic+html5+API实现双击返回键退出应用
Sep 17 Javascript
Vue调用后端java接口的实例代码
Oct 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php实现多张图片上传加水印技巧
2013/04/18 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
react中使用swiper的具体方法
2018/05/15 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
python重试装饰器示例
2014/02/11 Python
django session完成状态保持的方法
2018/11/27 Python
详解python破解zip文件密码的方法
2020/01/13 Python
tensorflow多维张量计算实例
2020/02/11 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
超级礼物观后感
2015/06/15 职场文书
货款欠条范本
2015/07/03 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis