| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Помогите прочесть regexp, определяющий ip адрес |
| Автор: Royan 15.12.2007, 23:53 | ||
| Нашел регулярное выражение, проверяющее на валидность ip адрес пример работы:
Вопрос, конечно, не совсем тактичный, ибо я по долгу профессии обязан был бы разобраться сам, но для меня выражение выглядит, как на французском (которого я не знаю), а именно, могу найти слово в словаре (я понимаю что такое \b или \d), но вся фраза, ни пса, яснее не становится. |
| Автор: SelenIT 16.12.2007, 00:40 |
| ( ( - одно из нижеследующего: [01]?\d?\d - однозначное или двузначное число, или трехзначное, начинающееся на 0 или 1 (обязательна только последняя цифра), т.е. числа 0-199 | - или 2[0-4]\d - числа 200 - 249 | - или 25[0-5] - числа 250 - 255 ) \. - с точкой после всего этого ) {3} - таких комбинаций 3 штуки а после этого опять число из 3-х диапазонов (как выше), но без точки в конце. P.S. Не лучше ли для проверки айпишника на допустимость использовать ip2long? |
| Автор: SelenIT 16.12.2007, 02:11 |
Я полагал, что задача - проверить ip на валидность. А для этого достаточно убедиться, что ip2long не вернула -1 или false... |
| Автор: Royan 16.12.2007, 19:47 | ||
Дельное замечание, я как то даже не посмотрел что возвращает эта функция в случае ошибки. |
| Автор: Royan 16.12.2007, 20:05 | ||||
Вообще я тут посмотрел внимательней ip2long не так "чиста" как кажется, например, следующий код она считает вполне валидным:
кроме того функция возвращает -1 вот в таком случае:
|
| Автор: gemaglabin 10.2.2008, 13:38 | ||
О безопасности использования ip2long
|