За последние 24 часа нас посетили 17157 программистов и 1651 робот. Сейчас ищут 935 программистов ...

Как проверить или значение является IP адресом

Тема в разделе "PHP для новичков", создана пользователем Jeick9, 27 май 2015.

  1. Jeick9

    Jeick9 Активный пользователь

    С нами с:
    18 янв 2011
    Сообщения:
    20
    Симпатии:
    0
    Здравствуйте форумчане.
    Подскажите пожалуйста как сделать условие на значения IP-адреса?
    То есть, я принимаю IP с формы и мне надо проверить или данное значение является IP-адресом. Как именно проверить что значение состоит из чисел и 3-х точек?
     
  2. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    регулярками можно
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Если есть академический интерес, то:
    1) Сделать array_explode, используя точку в качестве разделителя;
    2) Проверить длину массива, если !=4, то это не IP;
    3) Проверить каждый элемент, если хоть один не положительное число в диапазоне от 0 до 255, то это не IP;

    Ну или составить хитрую регулярку.

    Если интереса академического нет, то готовые фильтры, ссылки выше даны.
     
  5. Jeick9

    Jeick9 Активный пользователь

    С нами с:
    18 янв 2011
    Сообщения:
    20
    Симпатии:
    0
    Спасибо за помощь.
    Нашел такое решение:
    Код (Text):
    1. if(filter_var($myip, FILTER_VALIDATE_IP) !== false) {}
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    самое быстрое
    Код (PHP):
    1. function isIpV4($ip) {
    2.  return false!==ip2long($ip);
    3. }