mesour / ip-addresses
IP address normalizer and validator. For IPv4 and IPv6.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        mesour
                                                                                    
                                                                
Installs: 26 700
Dependents: 1
Suggesters: 0
Security: 0
Stars: 11
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/mesour/ip-addresses
Requires
- php: >=8.0
 
Requires (Dev)
- nette/robot-loader: ^2.4
 - nette/tester: ^2.3
 - php-parallel-lint/php-parallel-lint: ^1.3
 - phpstan/phpstan: ^1.8.5
 - tracy/tracy: ~2.3.0
 
This package is auto-updated.
Last update: 2025-10-17 08:11:08 UTC
README
- 
IP address normalizer and validator. For IPv4 and IPv6.
 
Install
Usage
Usage: Mesour\IpAddresses\IpAddressValidator
Assert::true(IpAddressValidator::isIpV6('2a00:5565:2222:800::200e')); Assert::true(IpAddressValidator::isIpV4('127.0.0.1'));
Usage: Mesour\IpAddresses\IpAddressNormalizer
Normalize IPv6:
IpAddressNormalizer::normalizeIpV6('2001:db8:800::ff00:42:8329'); // result is: 2001:0db8:0800:0000:0000:ff00:0042:8329
Compress IPv6:
IpAddressNormalizer::compressIpV6('2001:0db8:0800:0000:0000:ff00:0042:8329'); // result is: 2001:db8:800::ff00:42:8329
Usage: Mesour\IpAddresses\IpAddress
Normalize IPv4:
$ipAddress = IpAddress::create('127.0.0.1'); $ipAddress->isIpV4(); // result is: true $ipAddress->isIpV6(); // result is: false $ipAddress->getValue(); // result is: 127.0.0.1
Normalize IPv6:
- Result of 
getValueis compressed IPv6 value 
$ipAddress = IpAddress::create('2001:0db8:0800:0000:0000:ff00:0042:8329'); $ipAddress->isIpV4(); // result is: false $ipAddress->isIpV6(); // result is: true $ipAddress->getValue(); // result is: 2001:db8:800::ff00:42:8329
Development
- Syntax check: 
vendor/bin/parallel-lint src tests - PHP Stan: 
vendor/bin/phpstan analyse -l 7 -c phpstan.neon src tests - Run tests: 
vendor/bin/tester -p php tests/ -s -c tests/php.ini