Javascript域/子域提取路径

时间:2014-06-02 22:51:20

标签: javascript regex

我有以下域名,我想使用javascript从每个域名返回一个'美化'标签。

http://mydomain.com/page1/ --> "Page 1"
http://mydomain.com/page-with-hypens/ --> "Page With Hypens"
http://test.mydomain.com/  --> "Test"
http://blog.mydomain.com/ --> "Blog"
http://blog.mydomain.com/2014/01/17/i-am-a-blog-article --> "I am a Blog Article"

起初我只是使用.replace()这样的东西,但后来意识到这不会削减它。

1 个答案:

答案 0 :(得分:1)

您可以通过window.location获取当前网址。根据您的要求,您可以使用以下内容创建漂亮的标题:

// Use window.location for pieces...
var domain = "jsbin.com",
    host = window.location.host.split('.'),
    path = window.location.pathname.replace(/\/$/,'').split('/'),
    subdomain = host.length === 3 ? host[0] : undefined,
    post = path.length ? path[path.length - 1] : undefined;

var title = subdomain || (post && post.replace('-',' ')) || 'Not Available';
console.log("title: " + title);

当页面完全(http://mydomain.com)没有子域且没有路径时,“不可用”可以替换为您想要的任何默认标题。