cookie match 数组问题

倒吊人
  • 35
  function getCookie(name) {
      var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
      console.log(document.cookie);
      if (arr = document.cookie.match(reg)){
        console.log(arr);
        return unescape(arr);
      }
      else
        return null;
    }

clipboard.png
存放匹配结果的数组。不应该只是[qe=123] 为啥会有4项

回复
阅读 1.3k
2 个回答
✓ 已被采纳

其他三项是捕获组,对应的分别是 (^| ),([^;]*), (;|$)") 所匹配的内容,可以把正则设置成全局的 new RegExp("(^| )" + name + "=([^;]*)(;|$)", 'g'),这样就不会包含捕获分组的匹配结果了,只会包含所有的匹配结果

match 方法会返回一个包含匹配结果以及匹配结果中所有捕获组的数组。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏