资讯专栏INFORMATION COLUMN

提取cookie中某个值的函数

lifefriend_007 / 2090人阅读

摘要:功能根据传入的键提取中对应的值废话不多说直接上代码第一行代码构建了一个新的正则表达式由于正则表达式要根据传入的值动态构建因此要用到正则表达式的构造函数相当于直接构建正则表达式的正则表达式中重点看这几句代码意思是匹配后面的不为表示非集也就是所

功能: 根据传入的键, 提取document.cookie中对应cookie的值
废话不多说, 直接上代码

getCookie: function(str){
    var reg = new RegExp(str + "=" + "([^;]*)" + ";"); 
    var result = reg.exec(document.cookie); 
    return (result&&result[1])||false; 
}

第一行代码

var reg = new RegExp(str + "=" + "([^;]*)" + ";"); 

构建了一个新的正则表达式. 由于正则表达式要根据传入的str值动态构建(on the fly), 因此要用到正则表达式的构造函数new RegExp(source), 相当于直接构建正则表达式的source.

正则表达式中重点看这几句代码:"([^;]*)", 意思是匹配str=后面的不为;([^;]表示非集, 也就是所有不为;的字符都能被匹配)的字符串, 该字符串出现0或更多次(*), 之后将匹配到的字符串放入第一个捕获组.

第二行代码

var result = reg.exec(document.cookie); 

很简单, 就是执行该正则并将匹配结果赋给result变量

第三行代码

return (result&&result[1])||false; 

返回值遇到两种情况, 有匹配, 或者没有匹配. 有匹配的情况下, 我们返回第一个捕获组result[1]; 没有匹配的情况下, 则返回false, 当然你也可以返回其它的任意值.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80055.html

相关文章

  • js基础归纳总结1

    摘要:局部变量在函数中声明的变量,会成为函数的局部变量。局部变量的作用域是局部的只能在函数内部访问它们。单独的情况下,指的是全局对象。在事件中,指的是接收事件的元素。布尔值提供一种布尔数据类型。所有不具有真实值的即为布尔值为零负零空值。 闭包 闭包的优点:1.可以读取函数内部的变量2.这些变量的值始终保持在内存中适用场景 作用域 作用域指的是有权访问的变量集合。在 JavaScript 中有...

    Jeff 评论0 收藏0
  • TF-IDF、词袋模型与特征工程

    摘要:如标题,与词集词袋模型都是数据预处理中常用的算法,这里展示一下这两种算法的联合应用。我们再回过头来看看的缺陷,其中的第二点和第三点以相反角度来看都有助于我们对词袋模型中特征向量的优化这个需要各位好好理解一下。 如标题,TF-IDF与词集词袋模型都是数据预处理中常用的算法,这里展示一下这两种算法的联合应用。 一. 词集与词袋模型 这个算法的主要作用也就是对文本做单词切分,有点从一篇文章里...

    xialong 评论0 收藏0
  • ES6系列---解构

    摘要:的解构特性,可以简化这项工作。必须传值的解构参数如果调用函数时不提供被解构的参数会导致程序抛出错误程序报错缺失的第三个参数,其值为。 在编码过程中,我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。ES6的解构特性,可以简化这项工作。解构是一种打破数据结构,将其拆分为更小部分的过程。 未使用解构的做法 let options = { repeat: true, ...

    baoxl 评论0 收藏0
  • 新鲜出炉的8月前端面试题

    摘要:前言最近参加了几场面试,积累了一些高频面试题,我把面试题分为两类,一种是基础试题主要考察前端技基础是否扎实,是否能够将前端知识体系串联。 前言 最近参加了几场面试,积累了一些高频面试题,我把面试题分为两类,一种是基础试题: 主要考察前端技基础是否扎实,是否能够将前端知识体系串联。一种是开放式问题: 考察业务积累,是否有自己的思考,思考问题的方式,这类问题没有标准答案。 基础题 题目的答...

    qingshanli1988 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<