| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Проверка на IP адрес. |
| Автор: InfMag 3.4.2005, 09:24 |
| Люди, плиз, подскажите мне preg_match, ergei или еще чего, чтобы определить IP ли это адрес. Типа чтобы было четыре числа между тремя точками и каждый числами от 0 до 255 или как там правильнее. Помоему первое число не может равняться нулю... |
| Автор: Mal Hack 3.4.2005, 10:49 |
| рэгом геморройно. Проще. Разбей explode по точкам. Если получаешь не 4 элемента это не IP. Затем проверяешь каждое на is_int(); и больше 1 меньше 255.. |
| Автор: Opik 3.4.2005, 11:31 | ||
Юзай ip2long
|
| Автор: InfMag 6.4.2005, 16:44 |
| Opr Че-го то я не понял про ip2long Mal Hack is_int() и ему подобным я не доверяю, помню про траблы, если минусы или нули подписывать. Ошибки мне не нужны. И почему с регами геморойно? Их писать долго? А на практике что будет быстрее, реги или "система нипиль" |
| Автор: Mal Hack 6.4.2005, 16:48 | ||||||
Надо уметь применять...
Это мало что изменит.
В регулярках условий нет (вроде)... А без них - никак. |
| Автор: InfMag 6.4.2005, 16:57 |
| Mal Hack Не раскажешь как пользоваться is_int()'ом? |
| Автор: Mal Hack 6.4.2005, 17:58 |
| http://php.net/is_int |
| Автор: InfMag 7.4.2005, 10:59 |
| Mal Hack Неа. Я имел виду: как правильно им пользоваться? |
| Автор: Opik 7.4.2005, 18:44 | ||
| InfMag а че тут непонятно?
|
| Автор: Gold Dragon 8.4.2005, 08:35 | ||
| Mal Hack наверное лучше и правильнее быдет использовать is_numeric. Так как получается не число в итоге, а числовая строка Вот мой карявенький код
|
| Автор: skalex 8.4.2005, 09:30 | ||||||
Как это нету... Вот синтаксис регулярного выражения с условием:
или
Подробная информация: http://ru.php.net/manual/ru/reference.pcre.pattern.syntax.php (абзац "Условные подмаски") P.S. А вообще надо использовать, вариант, предлагаемый Opr!!! |
| Автор: IZ@TOP 8.4.2005, 10:17 | ||
А не проще таким образом поступить:
|
| Автор: Ринат 8.4.2005, 12:54 |
| IZ@TOP прикольный вариант..рег понравился, простой главное |
| Автор: InfMag 8.4.2005, 18:32 |
| Opr А ip2long() от каких версий начинается? |
| Автор: skalex 8.4.2005, 20:42 | ||
Начиная с 4-ой. |
| Автор: Opik 8.4.2005, 23:57 |
| IZ@TOP дык, нафига это? 8) |
| Автор: InfMag 9.4.2005, 17:10 |
| Opr Ну дык я вот и думаю: зачем мне реги, експлоды и т.п. То-бишь зачем новый велосипед собирать? |
| Автор: IZ@TOP 10.4.2005, 13:18 |
| Opr, чтобы убедиться в валидности IP. |
| Автор: Opik 11.4.2005, 09:18 |
| IZ@TOP а чем тебя стандартная функция не устраивает? |
| Автор: IZ@TOP 11.4.2005, 10:04 |
| Opr, как альтернатива |
| Автор: Opik 11.4.2005, 12:36 |
| IZ@TOP узнал и продолжаешь 8)))) соррь, за оффтоп 8) |
| Автор: InfMag 11.4.2005, 14:36 |
| IZ@TOP Ты же вроде модератор? Тему пора закрывать. Добавлено @ 14:37 Opr А, ну да. Тыж тоже модер. Закрывай. |
| Автор: Opik 11.4.2005, 14:39 |
| пусть будет. |
| Автор: InfMag 12.4.2005, 11:42 | ||||
Поглядите что я нашел:
Это было на http://ru3.php.net/manual/ru/function.preg-match.php Скажите, это на 100 процентов проверит валидность IP. Просто интересно. Добавлено @ 11:43
Вот еще от туда же. |
| Автор: Opik 13.4.2005, 07:28 |
| Вариантов куча. самый простой и надежный - ip2long |
| Автор: InfMag 14.4.2005, 07:11 | ||
| Opr Про ip2long я уже понял.
Я хотел узнать на 100 ли процентов это подтвердит валидность IP'шника? |