JavaScript:FQDN regexp不验证长名称

时间:2013-10-31 09:16:12

标签: javascript regex

我有一个regexp,它将字符串验证为FQDN:

var fqdnRegExp = new RegExp("^([a-z0-9]+\\.)?[a-z0-9][a-z0-9-]*\\.[a-z]{2,6}$");

它正确验证了以下名称:google.commypage.mycompany.com。但是当子域名为3d + lvl时,验证会崩溃。例如,test.test2.test3.com尚未经过验证。

这个正则表达式出了什么问题?

1 个答案:

答案 0 :(得分:3)

只允许中央模式([a-z0-9][a-z0-9-]*\\.)出现多次:

var fqdnRegExp = new RegExp("^([a-z0-9]+\\.)?([a-z0-9][a-z0-9-]*\\.)+[a-z]{2,6}$");
相关问题