如何使用JS从URL获取目录?

时间:2014-05-13 06:47:05

标签: javascript regex

我有一个

的网址
https://hpscrmdev.honeywell.com/service_enu_dv2_oui/start.swe?SWECmd=GotoView&SWEView=Home+Page+View+(WCC)&SWERF=1&SWEHo=hpscrmdev.honeywell.com&SWEBU=1

我希望这个'service_enu_dv2_oui'部分使用正则表达式。我怎么能得到它? 请建议。

感谢。

4 个答案:

答案 0 :(得分:1)

这是没有正则表达式但工作得很好:http://jsfiddle.net/mKNkF/

var path = "https://hpscrmdev.honeywell.com/service_enu_dv2_oui/start.swe?SWECmd=GotoView&SWEView=Home+Page+View+(WCC)&SWERF=1&SWEHo=hpscrmdev.honeywell.com&SWEBU=1";

var pathArray = path.split( '/' );

alert(pathArray[3]);

答案 1 :(得分:1)

如果路径只有一个段,如示例所示,则正则表达式非常简单:

/^http(?:s?):\/\/[^\/]+\/([^\/]+)/

Live link详情。

例如:

var str = "https://hpscrmdev.honeywell.com/service_enu_dv2_oui/start.swe?SWECmd=GotoView&SWEView=Home+Page+View+(WCC)&SWERF=1&SWEHo=hpscrmdev.honeywell.com&SWEBU=1";
var match = str.match(/^http(?:s?):\/\/[^\/]+\/([^\/]+)/);
if (match) {
    console.log(match[1]); // "service_enu_dv2_oui"
}

答案 2 :(得分:0)

您可以从

收到没有主机和查询的路径
window.location.pathname

http://www.w3schools.com/js/js_window_location.asp

不需要正则表达式

答案 3 :(得分:0)

https?:\/\/[\w\.]+\/(\w+)\/ 这个正则表达式有一个匹配组

您检查this link