isFQDN function
Returns true if str is a valid fully-qualified domain name.
Implementation
@experimental
bool isFQDN(String str, {bool requireTld = true, bool allowUnderscores = false}) {
final parts = str.split('.');
if (requireTld) {
final tld = parts.removeLast();
if (parts.isEmpty || !fqdnTldReg.hasMatch(tld)) return false;
}
for (final part in parts) {
if (allowUnderscores && part.contains('__')) return false;
if (!fqdnLabelReg.hasMatch(part)) return false;
if (part.startsWith('-') || part.endsWith('-') || part.contains('---')) {
return false;
}
}
return true;
}