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

JavaScript分割字符串并提取特定部分实现方案咨询

没问题,这事儿在JavaScript里实现起来超简单,我给你两种靠谱的方案,按需选就行:

方法1:用URL对象解析(最推荐,稳得一批)

现代浏览器都支持原生的URL对象,它能帮我们优雅地处理URL的各个部分,包括哈希(#)里的参数,完全不用自己写复杂的分割逻辑:

// 先把你的URL存到变量里(如果是当前页面的URL,直接用window.location就行)
const targetUrl = "/account/register#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik56RXhNemRETUVRME9EWkdOMFJHUmtRMk9VUXdNemxFUWpWQk1UaEdNVFpCTURneU0wWXhSZyJ9.eyJuaWNrbmFtZSI6ImhlbGxvIiwibmFtZSI6ImhlbGxvQGhlbGxvLmNvbSIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZlZWYzMjYyNTM2N2E0M2RhNjNhOTkwOWJhNzE2ZT9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRmhlLnBuZyIsInVwZGF0ZWRfYXQiOiIaGlyc3R5c3R1ZGlvcy5hdS5hdXR...";

// 创建URL实例(第二个参数是当前页面的origin,确保相对URL能被正确解析)
const url = new URL(targetUrl, window.location.origin);
// 把哈希部分转成URLSearchParams对象,方便提取参数(slice(1)是去掉开头的#)
const hashParams = new URLSearchParams(url.hash.slice(1));
// 直接get出id_token的值
const idToken = hashParams.get('id_token');

console.log(idToken); // 这就是你要的那串token啦

这个方法的好处是自动处理哈希里的多个参数——比如如果哈希是#id_token=xxx&expires_in=3600,它也能精准提取id_token,不会把后面的参数带进来,容错性拉满。

方法2:字符串分割(适合极简场景)

如果你能确定哈希里只有id_token这一个参数,也可以用字符串分割快速搞定,代码更短:

const targetUrl = "/account/register#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik56RXhNemRETUVRME9EWkdOMFJHUmtRMk9VUXdNemxFUWpWQk1UaEdNVFpCTURneU0wWXhSZyJ9.eyJuaWNrbmFtZSI6ImhlbGxvIiwibmFtZSI6ImhlbGxvQGhlbGxvLmNvbSIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZlZWYzMjYyNTM2N2E0M2RhNjNhOTkwOWJhNzE2ZT9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRmhlLnBuZyIsInVwZGF0ZWRfYXQiOiIaGlyc3R5c3R1ZGlvcy5hdS5hdXR...";

// 先切出#后面的部分,再切出=后面的token
const idToken = targetUrl.split('#')[1].split('=')[1];

console.log(idToken);

不过要注意:如果哈希里有多个参数,这个方法就会失效(比如会把id_token=xxx&expires_in=3600切成xxx&expires_in=3600),所以只适合简单场景。

小提醒

  • 如果是当前页面的URL,不用手动传targetUrl,直接用window.location.hash就能拿到哈希部分。
  • 拿到token后,记得要做必要的验证(比如格式、签名),别直接就用哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:32:23