【问题标题】:Extract only cookie's value from a string仅从字符串中提取 cookie 的值
【发布时间】:2021-11-18 19:20:59
【问题描述】:

我有一个 cookie 作为字符串存储在一个变量中。此 cookie 是从 API 服务器接收的,并且每次都会有所不同。但为方便起见,我们可以说字符串是:

var csrfCookie = "XSRF-TOKEN=eyJpdiI6ImtBWXVqS0RmRzN5Z241UUVibXc4M1E9PSIsInZhbHVlIjoiMDJZYWNtUk5MOUxPZzA4d1JVMU5Ldks0R2VoWUhjMGNDREpXT1FrQjVqeHhRQ0FRQWtKUW1sTFY3MlRCVlhKS3kwczlOM2FKSWNXL3pNS0RCa3lvc3cxb0p5TGlSeXdDcjRMOFh5bytHakJmcU45S0JuT2pxOXdxSlY1WXdpQnQiLCJtYWMiOiI0OTlkNjgyNWNlMTJmZGJiMWM0ZWNmYzJmNTE3NGM5OTc5MjA3ZWQ2ODg2MDIyYmM4N2FiNTljMDQzYzQxYzBkIn0%3D; expires=Sun, 26-Sep-2021 10:15:25 GMT; Max-Age=7200; path=/; domain=.somedomain.site"

该字符串包含我不需要的所有数据,例如开头的 cookie 名称 XSRF-TOKEN= 和结尾的 ; expires=Sun, 26-Sep-2021 10:15:25 GMT; Max-Age=7200; path=/; domain=.somedomain.site

我想从中删除此数据并仅获取剩余的字符串(即 cookie 值)作为结果,并对剩余的结果值进行 url 解码。

我该怎么做?

【问题讨论】:

    标签: javascript regex string cookies


    【解决方案1】:

    您应该使用regex expression 来提取值:const regex = /XSRF-TOKEN=(.*?);/;

    var csrfCookie = "XSRF-TOKEN=eyJpdiI6ImtBWXVqS0RmRzN5Z241UUVibXc4M1E9PSIsInZhbHVlIjoiMDJZYWNtUk5MOUxPZzA4d1JVMU5Ldks0R2VoWUhjMGNDREpXT1FrQjVqeHhRQ0FRQWtKUW1sTFY3MlRCVlhKS3kwczlOM2FKSWNXL3pNS0RCa3lvc3cxb0p5TGlSeXdDcjRMOFh5bytHakJmcU45S0JuT2pxOXdxSlY1WXdpQnQiLCJtYWMiOiI0OTlkNjgyNWNlMTJmZGJiMWM0ZWNmYzJmNTE3NGM5OTc5MjA3ZWQ2ODg2MDIyYmM4N2FiNTljMDQzYzQxYzBkIn0%3D; expires=Sun, 26-Sep-2021 10:15:25 GMT; Max-Age=7200; path=/; domain=.somedomain.site";
    
    const regex = /XSRF-TOKEN=(.*?);/;
    
    var matches = regex.exec(csrfCookie);
    console.log(matches[1]);

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 2021-07-18
      • 2012-01-02
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      相关资源
      最近更新 更多