我有一个regexp,它将字符串验证为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
尚未经过验证。
这个正则表达式出了什么问题?
答案 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}$");