0

我有一个 URL,例如http://test.example.com我需要test从这个 url 中提取(这个 url 的子域。)。此 url 是动态的,它可能会更改,因此无法匹配test并提取它。我已经编写了对我有用的代码块。谁能建议我更好的方法来实现这一目标。

var siteUrl = 'http://test.example.com';
var parts = siteUrl.split('.');
var subdomainstr = parts.shift(); // Output 'http://test'
var upperleveldomain = parts.join('.'); // Output 'example.com'


var extractSubDomain = subdomainstr.split('//');
var subdomain = extractSubDomain.slice(1).join('.');

console.log(subdomain); //Output test

小提琴

4

2 回答 2

3

为什么不是这个?

var subdomain = siteUrl.split('//')[1].split('.')[0];

工作演示

于 2013-09-24T10:12:59.003 回答
0

如果您更喜欢正则表达式,则可以使用

var subdomain = siteUrl.match(/http:\/\/([^\.]*)/i)[1];
于 2013-09-24T10:17:48.800 回答