以下是网址示例。
1) domain.com/our-work/insights/tips-and-advice/2008/02/04/the-path-to-good-design-is-proper-analytics
2) subdomain.domain.com
3) im.domain.com/About.htm
4) domain.uk/help.htm
获得这样的结果
domain.com
domain.uk
答案 0 :(得分:1)
要做到这一点,您只需使用String.prototype.split()
方法和/
作为分隔符来提取主机名,然后使用String.prototype.match()
获取主机名(包含点)的结尾:
var m = url.split('/')[0].match(/[^.]+\.[^.]+$/);
if (m)
var domain = m[0];
注意:如果网址以方案开头,您需要在删除之前将其删除:
var pat = '^https?://';
url = url.replace(new RegExp(pat, 'i'), '');
另一种方法是直接找到域:
var pat = '^(?:https?://)?(?:[^/:]*:[^/@]*@)?[^/]*([^./]+\\.[^./]+)';
var m = url.match(new RegExp(pat, 'i'));
if (m)
var domain = m[1];
但在这种情况下,您需要在主机名之前处理可能的登录/传递部分。这就是这个子模式的原因:(?:[^/:]*:[^/@]*@)?
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
试试这个。
您可以通过javascript函数实现此功能。
var name = document.domain;
并且您想要从子域中找到域名而不是使用它。
var parts = location.hostname.split('.');
var subdomain = parts.shift();
var upperleveldomain = parts.join('.');
var sndleveldomain = parts.slice(-2).join('.');
alert(sndleveldomain);