检查当前url是否包含子域的最简单方法



我正在寻找最简单的方法来检查用户是在普通域(domain.com(上还是在子域et.domain.com上,并基于此显示内容。如果重要的话,我会尝试在shopify上这样做。

您可以用句点(.(分割url并检查长度。这只适用于.com网址。

注意:这将不适用于像谷歌.co.in 这样的域

const domain = 'domain.com';
const subDomain = 'et.domain.com'
const isSubdomain = (domain) => domain.split('.').length > 2;
console.log(isSubdomain(domain));
console.log(isSubdomain(subDomain));

您实际上可以使用regex方法。

var isSubdomain = function(url) {
url = url || 'http://www.test-domain.com'; // just for the example
var regex = new RegExp(/^([a-z]+:/{2})?([w-]+.[w-]+.w+)$/);
return !!url.match(regex); // make sure it returns boolean
}
console.log(isSubdomain("example.com"));
console.log(isSubdomain("http://example.com:4000"));
console.log(isSubdomain("www.example.com:4000"));
console.log(isSubdomain("https://www.example.com"));
console.log(isSubdomain("sub.example.com"));
console.log(isSubdomain("example.co.uk")); //it doesn't work on these very specific cases

最新更新