IPAddressValidator
class IPAddressValidator (View source)
IP address validation service
Validates IP addresses according to:
- RFC 791: Internet Protocol (IPv4)
- RFC 3596: DNS Extensions to Support IP Version 6
- RFC 4291: IP Version 6 Addressing Architecture
- RFC 5952: A Recommendation for IPv6 Address Text Representation
Methods
Validate an IPv4 address
Check if a string is a valid IPv4 address
Validate an IPv6 address according to RFC 3596 and RFC 5952
Check if a string is a valid IPv6 address
Validate multiple IP addresses separated by commas
Check if a string contains valid IP addresses separated by commas
Details
ValidationResult
validateIPv4(string $ipv4)
Validate an IPv4 address
bool
isValidIPv4(string $ipv4)
Check if a string is a valid IPv4 address
ValidationResult
validateIPv6(string $ipv6, bool $canonicalForm = false)
Validate an IPv6 address according to RFC 3596 and RFC 5952
Comprehensive validation for IPv6 addresses used in AAAA records. This includes:
- Basic format validation using PHP's filter_var
- Validation of IPv6 address patterns per RFC 4291
- Canonical format recommendations from RFC 5952
- Special address validation (loopback, unspecified, etc.)
- Checks for deprecated IPv6 formats
bool
isValidIPv6(string $ipv6, bool $canonicalForm = false)
Check if a string is a valid IPv6 address
ValidationResult
validateMultipleIPs(string $ips)
Validate multiple IP addresses separated by commas
Supports PowerDNS IP:port syntax for backward compatibility:
- IPv4: "192.0.0.1, 192.0.0.2"
- IPv4 with port: "192.0.2.1:5300"
- IPv6: "2001:1::1"
- IPv6 with port: "[2001:db8::1]:5300"
bool
areMultipleValidIPs(string $ips)
Check if a string contains valid IP addresses separated by commas