如何用JavaScript解析URL中的前两个路径元素?
解析URL前两个路径元素的JavaScript方案
方法一:通过分割路径数组实现(推荐,容错性强)
这种方法直观易懂,能适配多种路径格式,包括路径段不足两个的场景:
function(){ var path = {{Page Path}}; // 分割路径并过滤空字符串,规避开头/或结尾/产生的空元素 const pathSegments = path.split('/').filter(segment => segment); // 取前两个元素用/拼接,不足两个时返回现有元素的拼接结果 return pathSegments.slice(0, 2).join('/'); }
比如针对/de/de/produkte/,分割后得到数组["de", "de", "produkte"],取前两个拼接后就是de/de;如果路径是/de/,则返回de;空路径则返回空字符串。
方法二:修改正则表达式匹配两个路径段
如果偏好正则方案,可调整正则同时捕获前两个路径段:
function(){ var path = {{Page Path}}; // 匹配开头的1-2个路径段,第二个段为可选 const matchResult = path.match(/^\/(\w+)(?:\/(\w+))?/); if (matchResult) { // 若存在第二个路径段则拼接,否则只返回第一个 return matchResult[1] + (matchResult[2] ? `/${matchResult[2]}` : ''); } // 无匹配时返回空字符串 return ''; }
注意:此正则中的\w仅匹配字母、数字和下划线,如果路径包含其他字符(如连字符-),需将\w替换为[^/]+,以匹配任意非斜杠字符。
内容的提问来源于stack exchange,提问作者Ayhan Bayram
相关产品推荐
相关产品推荐

