javascript - 拆分字符串并仅存储拆分 javascript 的特定部分

标签 javascript

我不确定这是否可能,说我有这样的东西......

/account/register#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik56RXhNemRETUVRME9EWkdOMFJHUmtRMk9VUXdNemxFUWpWQk1UaEdNVFpCTURneU0wWXhSZyJ9.eyJuaW NrbmFtZSI6ImhlbGxvIiwibmFtZSI6ImhlbGxvQGhlbGxvLmNvbSIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZlZWYzMjYyNTM2N2E0M2RhNjNh OTkwOWJhNzE2ZT9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRmhlLnBuZyIsInVwZGF0ZWRfYXQiOiIaGlyc3R5c3R1ZGlvcy5hdS5 hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NWFkNmE4NjI5MDI1MDU0NzJjNTYzMzBiIiwiYXVkIjoia3A1Zk1kaXNCdjRFcnc1dFJoN29LWlZSOTAxQ3BRZGUIiLCJpYXQiOjE1MjQwMTcyNTUsIm V4cCI6MTUyNDA1MzI1NSwibm9uY2UiOiIxSngxNmRHcjdOUjhla2xIZkNheWwyTDlYZWVSMkJNcCJ9.UBileHlEfQbuQgOPk60EkpTHAxxC_o0-4C4No6sCLbqTwEHljLKcKhA1CQhcMdt cn2a1c1YnV1Ka5AdYxh65iKGOEqMcauhIFKXkeO2E_X_mpv9x26HJzEJVzsg3PKzGKE8iAthzp_wXZf8Xqgnt7XAeKh6rTvpigZ2yjMdykCHu-rZgokaPO1CuYsFSibPf_ewS3zMHVbPG d1M2k-wvWiIV9anudkNLG4H0luEyBkrzNtKaa5x0z-YdNHlApetcMC2QRbuHFbBGrCaQNTUJ5lnu-pMeT6llnRpLT9oE08elVcuEppXCXFRl-JFkbcWp-ft5BSOeTNkavEwb_jpJg&state=tBo7J0yS FXKMuVkKrdj3FURzoG5Y7Hu6

有没有一种方法可以在 #id_token 之后的 = 处拆分字符串,只将 token 保存到变量中,然后丢弃其余部分??

我知道我可以在 = 处拆分并将两半放在一个数组中然后 token = array[1] 我只是想知道是否有更好的方法

最佳答案

使用内置的 URLSearchParams 而不是自己解析字符串:

const input = '/account/register#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik56RXhNemRETUVRME9EWkdOMFJHUmtRMk9VUXdNemxFUWpWQk1UaEdNVFpCTURneU0wWXhSZyJ9.eyJuaWNrbmFtZSI6ImhlbGxvIiwibmFtZSI6ImhlbGxvQGhlbGxvLmNvbSIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZlZWYzMjYyNTM2N2E0M2RhNjNhOTkwOWJhNzE2ZT9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRmhlLnBuZyIsInVwZGF0ZWRfYXQiOiIaGlyc3R5c3R1ZGlvcy5hdS5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NWFkNmE4NjI5MDI1MDU0NzJjNTYzMzBiIiwiYXVkIjoia3A1Zk1kaXNCdjRFcnc1dFJoN29LWlZSOTAxQ3BRZGUiLCJpYXQiOjE1MjQwMTcyNTUsImV4cCI6MTUyNDA1MzI1NSwibm9uY2UiOiIxSngxNmRHcjdOUjhla2xIZkNheWwyTDlYZWVSMkJNcCJ9.UBileHlEfQbuQgOPk60EkpTHAxxC_o0-4C4No6sCLbqTwEHljLKcKhA1CQhcMdtcn2a1c1YnV1Ka5AdYxh65iKGOEqMcauhIFKXkeO2E_X_mpv9x26HJzEJVzsg3PKzGKE8iAthzp_wXZf8Xqgnt7XAeKh6rTvpigZ2yjMdykCHu-rZgokaPO1CuYsFSibPf_ewS3zMHVbPGd1M2k-wvWiIV9anudkNLG4H0luEyBkrzNtKaa5x0z-YdNKhlApetcMC2QRbuHFbBGrCaQNTUJ5lnu-pMeT6llnRpLT9oE08elVcuEppXCXFRl-JFkbcWp-ft5BSOeTNkavEwb_jpJg&state=tBo7J0ySFXKMuVkKrdj3FURzoG5Y7Hu6';
const params = new URLSearchParams(input);
console.log(params.get('/account/register#id_token'));

如果您需要支持 IE,请使用 polyfill也是。

关于javascript - 拆分字符串并仅存储拆分 javascript 的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49890080/

相关文章:

javascript - 绘制的多边形不显示在 openlayers 中

javascript - 使用 Javascript 正则表达式对我的对象进行分类

javascript - 不能使用通过调用 getResponseHeader 获得的值

javascript - 当通过子组件更改父状态时,React 重新渲染

javascript - 如何从回调中获取值?

javascript - 如何在不同的屏幕尺寸上获得相同的scrollY高度数?

javascript - 如何将 css 加载器仅应用于内容的一个特定部分

javascript - 从数组中删除所有不偶数的值

javascript - 无法更改使用所选插件的 html 中的下拉选择

javascript - Spring REST 错误 500