提取cookie中某个值的函数

功用: 依据传入的键, 提取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, 固然你也能够返回别的的恣意值.

    原文作者:hymin
    原文地址: https://segmentfault.com/a/1190000006236322
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞