1

我有一个正则表达式来验证一个字符串是否为 FQDN:

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

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

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

4

1 回答 1

3

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

var fqdnRegExp = new RegExp("^([a-z0-9]+\\.)?([a-z0-9][a-z0-9-]*\\.)+[a-z]{2,6}$");
于 2013-10-31T09:21:11.823 回答