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 相关文章推荐
Prototype中dom对象方法汇总
Sep 17 Javascript
js获取当前日期代码适用于网页头部
Jun 27 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
Sep 25 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
Oct 14 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
Apr 04 Javascript
jQuery读取XML文件内容的方法
Mar 09 Javascript
JS中字符串trim()使用示例
May 26 Javascript
js实现的万能flv网页播放器代码
Apr 30 Javascript
完美解决JS文件页面加载时的阻塞问题
Dec 18 Javascript
浅谈Vuejs Prop基本用法
Aug 17 Javascript
JavaScript 异步调用
Oct 25 Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 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 删除数组元素
2009/01/16 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
PHP分享图片的生成方法
2018/04/25 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python datetime中strptime用法详解
2019/08/29 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
25岁生日感言
2014/01/13 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
教师先进个人材料
2014/12/17 职场文书
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏