如何在JavaScript中提取部分location.href?

时间:2009-03-09 16:29:37

标签: javascript regex

在这个例子中,从location.href中提取“first”的正则表达式是什么,例如:

http://www.mydomain.com/first/

5 个答案:

答案 0 :(得分:11)

也许不是你问题的答案,但如果你是用Javascript编写的,你可能想要使用location.pathname而不是从整个href中提取它。

答案 1 :(得分:5)

答案 2 :(得分:4)

既然您要求使用正则表达式解决方案,那就是:

^(?:[^:]+://)?[^/]+/([^/]+)

这匹配所有这些变体(匹配组1在任何情况下都包含"first"):

  • http://www.mydomain.com/first/
  • http://www.mydomain.com/first
  • https://www.mydomain.com/first/
  • https://www.mydomain.com/first
  • www.mydomain.com/first/(这个和下一个是为了方便)
  • www.mydomain.com/first

要使它成为“http://” - 只会变得更简单:

^http://[^/]+/([^/]+)

答案 3 :(得分:1)

您可以使用window.location.host和window.location.search 只需查看this page了解详情

答案 4 :(得分:0)

var re = /^http:\/\/(www.)?mydomain\.com\/([^\/]*)\//;
var url = "http://mydomain.com/first/";

if(re.test(url)) {
  var matches = url.match(re);
  return matches[2]; // 0 contains whole URL, 1 contains optional "www", 2 contains last group
}