isIP method
Check if the string is an IP (version 4 or 6)
version
is a String or an int
.
Implementation
bool isIP([Object? version]) {
final String str = this;
assert(version == null || version is String || version is int);
version = version.toString();
if (version == 'null') {
return str.isIP(4) || isIP(6);
} else if (version == '4') {
if (!RegexUtils.ipv4.hasMatch(str)) {
return false;
}
var parts = str.split('.');
parts.sort((a, b) => int.parse(a) - int.parse(b));
return int.parse(parts[3]) <= 255;
}
return version == '6' && RegexUtils.ipv6.hasMatch(str);
}