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 相关文章推荐
juqery 学习之四 筛选过滤
Nov 30 Javascript
javascript工具库代码
Mar 29 Javascript
JavaScript获取路径设计源码
May 22 Javascript
jQuery获得document和window对象宽度和高度的方法
Mar 25 Javascript
javascript消除window.close()的提示窗口
May 20 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
Aug 04 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
Oct 04 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 Javascript
webpack 处理CSS资源的实现
Sep 27 Javascript
关于javascript中的promise的用法和注意事项(推荐)
Jan 15 Javascript
处理canvas绘制图片模糊问题
May 11 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
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
php内嵌函数用法实例
2015/03/20 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
js 中 document.createEvent的用法
2010/08/29 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
React Hooks的深入理解与使用
2018/11/12 Javascript
[04:16]完美世界DOTA2联赛PWL S2 集锦第一期
2020/11/23 DOTA
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
使用python开发vim插件及心得分享
2014/11/04 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
python3 enum模块的应用实例详解
2019/08/12 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
小学母亲节活动方案
2014/03/14 职场文书
公立医院改革实施方案
2014/03/14 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
身边的榜样活动方案
2014/08/20 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL
尝试使用Python爬取城市租房信息
2022/04/12 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS
Oracle锁表解决方法的详细记录
2022/06/05 Oracle