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

JavaScript中提取指定URL内com/后的中间ID的可行方法

提取URL中的ID:多种实现方式

当然可以仅用substring和indexOf实现ID提取,同时也有多种其他常用方法,以下是具体实现:

方法1:使用substring + indexOf

通过定位两个斜杠的位置来截取中间的ID:

const url = "https://state.velon.com/11eb35c9-3c69-e7f2-a4eb-0ac9483cdf87/reports/corporate";
// 跳过协议部分的斜杠,找到域名后的第一个斜杠
const firstSlash = url.indexOf('/', 8);
// 找到ID后的下一个斜杠
const secondSlash = url.indexOf('/', firstSlash + 1);
// 截取两个斜杠之间的内容
const id = url.substring(firstSlash + 1, secondSlash);
console.log(id); // 输出:11eb35c9-3c69-e7f2-a4eb-0ac9483cdf87

方法2:使用split分割URL

将URL按斜杠分割成数组,直接取对应位置的元素:

const url = "https://state.velon.com/11eb35c9-3c69-e7f2-a4eb-0ac9483cdf87/reports/corporate";
const urlParts = url.split('/');
// 分割后的数组为 ["https:", "", "state.velon.com", "目标ID", "reports", "corporate"]
const id = urlParts[3];
console.log(id);

方法3:使用正则表达式

匹配URL中符合格式的ID部分,适合URL结构有变化的场景:

const url = "https://state.velon.com/11eb35c9-3c69-e7f2-a4eb-0ac9483cdf87/reports/corporate";
// 匹配域名后斜杠与下一个斜杠之间的内容
const idRegex = /https:\/\/state\.velon\.com\/([^\/]+)\//;
const matchResult = url.match(idRegex);
const id = matchResult ? matchResult[1] : '';
console.log(id);

// 如果ID是标准UUID格式,也可以直接匹配UUID
const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
const uuidMatch = url.match(uuidRegex);
const uuidId = uuidMatch ? uuidMatch[0] : '';
console.log(uuidId);

方法4:使用URL对象(浏览器/Node.js环境)

利用原生URL API解析路径,再分割提取:

const url = "https://state.velon.com/11eb35c9-3c69-e7f2-a4eb-0ac9483cdf87/reports/corporate";
const urlObj = new URL(url);
// 分割路径并过滤空字符串
const pathParts = urlObj.pathname.split('/').filter(part => part);
const id = pathParts[0];
console.log(id);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:15:38