zoukankan      html  css  js  c++  java
  • Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间

    https://www.cnblogs.com/codeon/p/7403418.html

    有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法。

    正确方法是:判断是否存在名为username3的cookie,使用document.cookie.indexOf(“username3=”)来判断,如果返回值是-1,表示不存在。

     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);
     }

    设置一年过期时间的cookie,用当前时间加上365 * 24 * 60 * 60 * 1000(毫秒)

    //写入cookie到主域,设置过期时间为一年
        function SetCookie(name, value) {
            console.log(name, value)
            var str = name + "=" + escape(value) + ";domain=.cnblogs.com;path=/";
            var date = new Date();
            date.setTime(date.getTime() + 365 * 24 * 60 * 60 * 1000); //设置date为当前时间加一年
    
            str += ";expires=" + date.toGMTString();
            console.log(str)
            document.cookie = str;
        }

    用js添加、读取、保存、删除cookie的操作方法如下:

     //获得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 ""; 
    } 
    //删除cookie
    function delCookie(name)
    {
       document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
    }
    //获取指定名称的cookie的值
    function getCookie(objName){
        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]);
       } 
    }
    //添加cookie
    function addCookie(objName,objValue,objHours){      
        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;
    }
    //两个参数,一个是cookie的名子,一个是值
    function SetCookie(name,value)
    {
        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();
    }
    //取cookies函数        
    function getCookie(name)
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
        if(arr != null) return unescape(arr[2]); return null;
    }
    //删除cookie
    function delCookie(name)
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }
  • 相关阅读:
    asp.net中virtual和abstract的区别分析
    .NET中的Timer类型用法详解
    类型参数的约束(C# 编程指南)T
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    jquery的$.extend和$.fn.extend作用及区别
    类型参数约束 : Controller where T : class,new()
    asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
    字符串一级指针的内存模型图(盲点,以前自己懵懂)
    字符串的基本操作,初始化和赋值之类的区别,和数据名是一个常量指针不可以改变和赋值(盲点众多)
    关于内存四区和指针的修改问题
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9982728.html
Copyright © 2011-2022 走看看