Как проверить, является ли введенный пользователем действительный IP-адрес или нет? - PullRequest
17 голосов
/ 02 июня 2011

Я хочу проверить, является ли введенный ввод действительным IP-адресом или нет.Мне нужна определенная функция, которая поможет мне проверить ввод пользователя.

Ответы [ 3 ]

70 голосов
/ 02 июня 2011
filter_var($ip, FILTER_VALIDATE_IP)

http://www.php.net/filter_var

11 голосов
/ 02 июня 2011

// Usually you'd get the value from $_POST or $_GET
$ip = "10.3.1.5";
if(!filter_var($ip, FILTER_VALIDATE_IP)) {
   echo "Not a valid IP address!";
}

Это можно изменить, отфильтровав IP-адреса IPv4 и IPv6 и исключив частные и зарезервированные IP-адреса.

http://www.php.net/manual/filter.filters.validate.php

0 голосов
/ 03 августа 2015

Используя preg_match();

function checkIPAddress($ipAddress) 
{
    return preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $ipAddress);
}
...