Does anyone have a Regular Expression to validate legal FQDN?
Now, I use on this regex:
(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?!-)\.?)+(?:[a-zA-Z]{2,})$)
However this regex results in "aa.a" not being valid while "aa.aa" is valid.
Does anyone know why?
Here's a shorter pattern:
As for why the pattern determines "aa.a" as invalid and "aa.aa" as valid, it's because of the
{2,}
- if you change the 2 to a 1 so that it'sit should deem both "aa.a" and "aa.aa" as valid.
isMatch
is TRUE for me.I think this could also be an option especially if the FQDN will later be used along with System.Uri:
Note that this code considers partially qualified domain names to be well formed.