验证FQDN

时间:2012-11-15 04:58:27

标签: regex dns fqdn

我在http://gskinner.com/RegExr/找到此正则表达式来验证FQDN域:

(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)

它基本上可以工作,但我想修改它不允许三个或更多字符的主机名,没有域名。例如,目前这是有效的:

WWW

这不是:

湿重

这也是:

www.test.com

我想修改它以不允许第一个例子。换句话说,检查是否存在域。

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.)+(?:[a-zA-Z]{2,})$)

在结束正则表达式“子域”部分的句点之后的问号已被删除,使其成为强制性而非可选性。