Здравствуйте форумчане.
Подскажите пожалуйста как сделать условие на значения IP-адреса?
То есть, я принимаю IP с формы и мне надо проверить или данное значение является IP-адресом. Как именно проверить что значение состоит из чисел и 3-х точек?
1. Jeick9 - 27 Мая, 2015 - 20:41:13 - перейти к сообщению
2. Ch_chov - 27 Мая, 2015 - 21:14:31 - перейти к сообщению
3. GoDr - 28 Мая, 2015 - 08:44:26 - перейти к сообщению
Немного по проще
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $good = "124.43.44.230";
- $bad1 = "320.23.434.23";
- $bad2 = "32.023.AA.23";
- if($result1){
- $result[] = 'IP-адрес ' . $good . ' правильный';
- }else{
- $result[] = 'IP-адрес ' . $good . ' неправильный';
- }
- if($result2){
- $result[] = 'IP-адрес ' . $bad1 . ' правильный';
- }else{
- $result[] = 'IP-адрес ' . $bad1 . ' неправильный';
- }
- if($result3){
- $result[] = 'IP-адрес ' . $bad2 . ' правильный';
- }else{
- $result[] = 'IP-адрес ' . $bad2 . ' неправильный';
- }
(Добавление)
даже можно чуть извратиться
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- /**
- * Возвращает IPv4 адрес, проверяет корректность
- *
- * @param string $ip : IPv4 Интернет адрес с точками
- * @param bool $value : определяет в каком формате возвращать данные
- * - false (по умолчанию) : int|false
- * - true : string
- *
- * @return int|false|string
- *
- * @example:
- * $a = MyIp2Long('195.33.44.55');
- * $b = MyIp2Long('195.33.44.55', true);
- * echo MyIp2Long('195.33.44.55', 1);
- */
- function MyIp2Long($ip, $value = false)
- {
- // конвертируем IP-адрес
- // если нужно вывести строкой результат
- if ($value) {
- if ($_result) {// если адрес корректный
- $_result = 'IP-адрес ' . $ip . ' правильный';
- } else {// если адрес не корректный
- $_result = 'IP-адрес ' . $ip . ' неправильный';
- }
- }
- // возвращаем результат
- return $_result;
- }