php检查验证IP为有效IP
封面图
•
2025-10-08
•
PHP
181
0
0
0
在 PHP 中,可以使用内置的 `filter_var()` 函数来验证一个字符串是否为有效的 IP 地址。这个函数支持 IPv4 和 IPv6 地址的验证。 ### 示例代码: ```php <?php function isValidIP($ip) { return filter_var($ip, FILTER_VALIDATE_IP) !== false; } // 测试用例 $testIPs = [ '192.168.1.1', '255.255.255.255', '192.168.0.256', // 无效 '2001:0db8:85a3::8a2e:0370:7334', // 有效IPv6 '2001:0db8:85a3::8a2e:0370:7334:1234', // 有效IPv6 'invalid.ip.address', // 无效 ]; foreach ($testIPs as $ip) { if (isValidIP($ip)) { echo "'$ip' 是有效的 IP 地址。\n"; } else { echo "'$ip' 不是有效的 IP 地址。\n"; } } ``` ### 输出示例: ``` '192.168.1.1' 是有效的 IP 地址。 '255.255.255.255' 是有效的 IP 地址。 '192.168.0.256' 不是有效的 IP 地址。 '2001:0db8:85a3::8a2e:0370:7334' 是有效的 IP 地址。 '2001:0db8:85a3::8a2e:0370:7334:1234' 是有效的 IP 地址。 'invalid.ip.address' 不是有效的 IP 地址。 ``` --- ### 可选参数(IPv4 或 IPv6) 如果你只想验证 IPv4 或 IPv6,可以指定第二个参数: ```php // 只验证 IPv4 filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); // 只验证 IPv6 filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); ``` 例如: ```php function isValidIPv4($ip) { return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false; } function isValidIPv6($ip) { return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false; } ``` --- 如需更复杂的 IP 验证逻辑(如白名单、黑名单、子网等),可以结合 `ip2long()` 和 `long2ip()` 等函数进行处理。需要的话我可以提供更详细的例子。
上一篇:
php中Redis生存时间设置
下一篇:
如何解决打印机将切断超过1MB的内容的问题?
标题录入,一次不能超过6条
返回顶部
留言
留言
评论