zoukankan      html  css  js  c++  java
  • js读取cookie根据cookie名称获取value

    //存在问题:如果cookie中存在 aaaname=aa;name=bb 获取name的值就会出现错误

    function getCookie(c_name){
        if (document.cookie.length>0){      //判断cookie是否存在

          //获取cookie名称加=的索引值
          var c_start = document.cookie.indexOf(c_name + "=");

          if (c_start!=-1){     //说明这个cookie存在

            //获取cookie名称对应值的开始索引值
            c_start=c_start + c_name.length+1 

            //从c_start位置开始找第一个分号的索引值,也就是cookie名称对应值的结束索引值
            c_end=document.cookie.indexOf(";",c_start)  

            //如果找不到,说明是cookie名称对应值的结束索引值就是cookie的长度
            if (c_end==-1) c_end=document.cookie.length 

            //unescape() 函数可对通过 escape() 编码的字符串进行解码
            //获取cookie名称对应的值,并返回
            return unescape(document.cookie.substring(c_start,c_end))
          } 
        }
        return "" //不存在返回空字符串
    }

    //方法2
    function getCookie2(name){
        var strcookie = document.cookie;//获取cookie字符串
        var arrcookie = strcookie.split("; ");//分割
        //遍历匹配
        for ( var i = 0; i < arrcookie.length; i++) {
            var arr = arrcookie[i].split("=");
            if (arr[0] == name){
                return arr[1];
            }
        }
        return "";
    }

    //方法3
    function getCookie3(name){
        //可以搜索RegExp和match进行学习
        var arr,reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
        if (arr = document.cookie.match(reg)) {
            return unescape(arr[2]);
        } else {
            return null;
        }
    }
  • 相关阅读:
    Django学习笔记
    禁用Win10自带截图工具快捷键(Shift+Win+S)
    Linux基础知识
    Ubuntu中配置Python虚拟环境Virtualenv
    PyCharm 格式化代码 常用快捷键
    你不得不知道的HashMap面试连环炮
    大型互联网公司分布式ID方案总结
    Java程序员必会常用Linux速查手册
    面试题:InnoDB中一棵B+树能存多少行数据?
    C语言:标准IO_fopen( )、fclose() ①
  • 原文地址:https://www.cnblogs.com/LoganChen/p/14135285.html
Copyright © 2011-2022 走看看