php正则表达式验证IP

对于大多数开发者来说,验证IP的第一个想法就是使用正则表达式,或者开发一个常用函数,造一个轮子,但是如果系统提供了验证的方法,工作量就白费了。恰巧在PHP中就有这么一个函数,学会使用filter_var,提供开发效率。

正则验证IP地址

$valid = preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/', $ip);

系统函数验证IP地址

$valid = filter_var($string, FILTER_VALIDATE_IP);

filter_var

filter_var — 使用特定的过滤器过滤一个变量
demo

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));

参考资料

https://www.php.net/manual/zh/function.filter-var.php

如何解决http405问题?
php获取日期之间的天数