我还没有找到这个问题的解决方案,现在正在尝试但未成功。
我想要匹配的域名必须满足以下条件:
- 不包含协议(http, https, ftp)
- 可选包含一个子域名
- 不能以连字符开头,但可以包含连字符
符合条件的示例域名有:
- domain.com
- example.domain.com
- example.domain-hyphen.com
- www.domain.com
- example.museum
不符合条件的示例域名有:
- http://example.com
- subdomain.-example.com
- example.com/parameter
- example.com?anything
- www.subdomain.domain.com
我目前得到的:
/^(?!:\/\/)(^[a-zA-Z0-9])?.[a-zA-Z0-9-]+\.[a-zA-Z]{2,6}?$/i
该协议不匹配,允许域名中包含连字符,不允许在顶级域名后添加字符,并允许使用子域名(但只有1个字符)。
我仍然需要允许任意长度的子域名,不允许使用www.subdomain.domain.com,也不允许使用前导连字符。
domain
在顶级域名前面,并且只能包含字母、数字和连字符。 - Jared Eitnier