【问题标题】:Subdomain verification regex for javascriptjavascript的子域验证正则表达式
【发布时间】:2018-05-15 07:27:34
【问题描述】:

我需要一个特殊的 javascript 正则表达式来验证主机名是子域,而不是 TLD。例如:

reject   domain.uk
accept   sub.domain.uk
reject   domain.ac.uk
accept   sub.domain.ac.uk

【问题讨论】:

  • 您需要更精确。这是一个复杂的问题。请参阅uasg.techpublicsuffix.org,但首先要了解其局限性。

标签: javascript regex validation dns tld


【解决方案1】:

您可能需要一个黑名单和白名单而不是正则表达式来处理这种情况。

const blackList = ['http://', 'https://'];

const whiteList = ['www.domainname.uk', 'www.domainname.ac.uk']

if (blackList.indexOf(domain) < 0 && whiteList.indexOf(domain) >=0)
    console.log('Domain is good');

【讨论】: