Корректный IP

Sirius

PHP+MySQL=LOVE
Корректный IP

Корректный IP - как определить...

То есть IP соответствующий xxx.xxx.xxx.xxx а не php.club.de

Нужно для нормальной работы MySQL INET_ATON()

Прошу помощи знатока регулярных...
 

Demiurg

Guest
примерно так:
\d{1,2}|1\d{0,2}|2([1-4]\d|5[1-5])\. и так 4 раза

но я бы на твоем месте просто разделил бы по точкам и проверил бы каждое число.
 

Larson

Новичок
Что-то я забыл, для интернет ИП адресов первая 255 может быть?
 

Sirius

PHP+MySQL=LOVE
Уауууу.. Спасибо отзывчивые мои :)
Решил написать как советовал Demiurg:

PHP:
$ip='212.47.134.12';$error='';

$ipnum=explode('.', $ip);
if (sizeof($ipnum) == '4') {
for($i=0;$i<4;$i++) {
if (!(ereg("^[0-9]{1,3}$",$ipnum[$i])) || ($ipnum[$i] > 255)) $error='1';
}
}
else $error='1';

echo ($error) ? 'Incorrect IP' : 'Correct IP';
Не идеально - но сойдёт!
Использовал ereg так как is_numeric воспринимает 2d2.12.147.1e2 как числа :)
 

Demiurg

Guest
я бы сделал if($ipnum[$i] == intval($ipnum[$i]) && $ipnum[$i] < 256 && $ipnum[$i]>=0)
 

RomikChef

Guest
я одного не понял - откуда у этого уникума взялся IP адрес вида php.club.de
 
Сверху