zoukankan      html  css  js  c++  java
  • 原生js操作cookie

    首先每个cookie都是一个名/值对存储,而cookie字符串以“;”连接多个cookie名/值对,我们需要做的首先将cookie字符串分割成单独的一个cookie名/值对。

    var cookieArray = document.cookie;  //获取cookie存储字符串
    var arr = cookieArray.split(";");   //将获得的cookie字符串以;分割开获得单独每个cookie名/值对

    获得cookie名对应的值

    //假设要获取的cookie的名字是name,则遍历数组找到名字所对应的值
    for
    (var i=0;i<arr.length;i++){
      var arr1 = arr.split("="); //将名/值对以“=”分割开
      if(arr1[0]==name){
        var result = arr1[1]; //如果名为name,则结果result为名对应的值
      } }

    设置cookie,设置cookie就是给cookie赋值name,value,days,所对应的含义是名,值,过期时间

    //直接设置cookie赋值语句

    document.cookie="name=value;expires=GMT_String";

    //以函数方式
    function
    setcookie(name,value,days){ var d= new Date(); d.setTime(d.getTime()+(days*24*60*60*1000)); var expires = d.toGMTString(); document.cookie = name+"="+value+";expires="+expires; }

    删除cookie就是将cookie的国企时间设置为0或者负数或者以前的时间。删除cokie时可以不指定cookie的值。

    function delCookie(name)//删除cookie
    {
       document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
    }

    完整的例子为

    function setCookie(cname,cvalue,exdays){
        var d = new Date();
        d.setTime(d.getTime()+(exdays*24*60*60*1000));
        var expires = "expires="+d.toGMTString();
        document.cookie = cname+"="+cvalue+"; "+expires;
    }
    function getCookie(cname){
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i].trim();
            if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
        }
        return "";
    }
    function checkCookie(){
        var user=getCookie("username");
        if (user!=""){
            alert("欢迎 " + user + " 再次访问");
        }
        else {
            user = prompt("请输入你的名字:","");
              if (user!="" && user!=null){
                setCookie("username",user,30);
            }
        }
    }
  • 相关阅读:
    01时间处理--02 指定日期--转成星期
    中文乱码处理
    判断js变量是否定义,
    安卓请求服务器js文件下载到本地,版本号不一致就下载
    a标签href跳转---传值---禁止单引号
    修改mysql配置文件,group_concat设置为最大.默认1024个字节字符串.多条json会超出
    GROUP_CONCAT()多条数据.拼接字符串 最大长度1024
    使用变量判断之前.务必先定义
    多种序列化器-指定类对象
    JsonHelper
  • 原文地址:https://www.cnblogs.com/tutuj/p/10991283.html
Copyright © 2011-2022 走看看