You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript正则表达式解析localStorage中JSON的id与token?

从localStorage的session数据提取id和token:正则方案与实现代码

一、适配场景的正则表达式

针对你给出的JSON格式,这两个正则可以精准提取id和token:

  • 匹配id值:/"id":(\d+)/
    解释:"id": 匹配固定键名,(\d+) 捕获后续的数字序列(也就是id值)
  • 匹配token值:/"token":"([^"]+)"/
    解释:"token":" 匹配固定前缀,([^"]+) 捕获双引号之前的所有字符(刚好是完整的token内容)

二、完整JavaScript代码实现

下面是结合正则的完整流程代码,直接就能用:

// 从localStorage取出session字符串
const sessionData = localStorage.getItem('session');

// 定义正则
const idPattern = /"id":(\d+)/;
const tokenPattern = /"token":"([^"]+)"/;

// 执行匹配
const idResult = sessionData.match(idPattern);
const tokenResult = sessionData.match(tokenPattern);

// 验证匹配结果并处理
if (idResult && tokenResult) {
  const userId = idResult[1];
  const userToken = tokenResult[1];
  
  // 组合成指定格式
  const combinedStr = `${userId}:${userToken}`;
  
  // Base64编码
  const base64Str = btoa(combinedStr);
  
  // 这里可以把base64Str赋值给你需要的变量
  console.log(base64Str);
} else {
  console.log('无法从session数据中提取id或token');
}

三、额外建议:更可靠的JSON解析方案

虽然正则能解决问题,但JSON数据本身有明确的结构,用JSON.parse解析会更稳定——哪怕JSON里多了空格、键值对顺序变了,都不会影响结果,代码也更简洁:

const sessionData = localStorage.getItem('session');
try {
  const sessionObj = JSON.parse(sessionData);
  const combinedStr = `${sessionObj.id}:${sessionObj.token}`;
  const base64Str = btoa(combinedStr);
  console.log(base64Str);
} catch (err) {
  console.log('解析session JSON出错:', err);
}

如果你的session数据格式不会随意变动,正则完全够用;要是想兼容更多格式变化,优先选JSON.parse。

内容的提问来源于stack exchange,提问作者ex7lted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:40:32