isFQDN static method
check if the string value
is a fully qualified domain name (e.g. domain.com).
requireTld
sets if TLD is required
Implementation
static bool isFQDN(String value, {bool requireTld = true}) {
var parts = value.split('.');
if (requireTld) {
var tld = parts.removeLast();
if (parts.isEmpty || !RegExp(r'^[a-z]{2,}$').hasMatch(tld)) {
return false;
}
}
for (var part in parts) {
if (!RegExp(r'^[a-z\\u00a1-\\uffff0-9-]+$').hasMatch(part)) {
return false;
}
if (part[0] == '-' || part[part.length - 1] == '-' || part.contains('---')) {
return false;
}
}
return true;
}