• js获取cookie 和 模仿php的&_GET方法


    //获取get参数
    function _get(name){
            var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
            var data = window.location.search.substr(1).match(reg);
            return data!=null?decodeURIComponent(data[2]):null;
    }
    
    //获取指定名称的cookie
    //正则解析
    //(^| ) 匹配开头或者空格
    //([^;]*) 匹配除了;号外的任意字符 任意次
    //(;|$) 匹配;或者文本结尾

    function getCookie(name){
      var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
      var arr = document.cookie.match(reg);
      return arr?decodeURIComponent(arr[2]):null;
    }

    1.正则解释
    ()表示一个子表达式 1.在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰2.取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
    (^|&) 分枝条件,匹配字符串开头或者&字符
    ([^&]*) 匹配除了&之外的字符0次或多次 相当于 {0,}
    (&|$) 匹配字符串结尾或者&字符
    2.match() 方法
    stringObject.match(regexp)
    如果 regexp 没有标志 g:
    1)没有匹配到内容则返回null
    2)匹配到了之后则返回一个数组arr
    arr[0] => 匹配文本
    其余的是正则表达式的子表达式匹配的文本
    3)附带两个属性
    index:匹配文本在的位置
    input:对stringObject的引用
    如:
    var str = "aaa=111&bbb=222&ccc=333&callback=123";
    var name = 'aaa';
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var rs = str.match(reg);
    console.log(rs);
    //输出 ["aaa=111&", "", "111", "&", index: 0, input: "aaa=111&bbb=222&ccc=333&callback=123"]
  • 相关阅读:
    pycharm 快捷键
    jquery .on
    javaweb项目的优化
    python笔记
    git上解决代码冲突(merge版)
    OpenERP里面继承的用法
    OpenERP新手易犯错误之res.model
    bootstrap 仿实例
    深入理解Binder(二),Binder是什么?
    深入理解Binder(一),从AIDL谈起
  • 原文地址:https://www.cnblogs.com/lzs-888/p/5616773.html
Copyright © 2020-2023  润新知