Долго читал мануалы по rexexp, но так не понял как сделать выражение, проверяющее валидность стринг на маску IP-адреса + все значения кроме первого могут быть символом *
Нашел только это:
/^((\d{1,2}|[01]\d{2}|2([0-4]\d|5[0-5]))\.){3}(\d{1,2}|[01]\d{2}|2([0-4]\d|5[0-5]))$/
Прошу помочь прикрутить сюда правило, каждую часть кроме первой, можно было заменить символом * и выражение подходило бы под маску.
И прошу, если у Вас будет лишняя минутка, объясните как именно Вы это сделали.
Заранее большое спасибо. Надеюсь на помощь.
Спустя 59 минут, 19 секунд (29.07.2010 - 10:23) linker написал(а):
Самый банальный имхо
/^192\.\d{1,3}\.\d{1,3}\.\d{1,3}$/или еще короче
/^192(\.\d{1,3}){3}$/
Спустя 10 минут, 6 секунд (29.07.2010 - 10:33) bot2b написал(а):
Спасибо, но это совсем не то, что мне нужно.
Мне нужны все IP-адреса, а не только локальные.
И обязательно, чтобы все значения кроме первого могли заменятся символом *
Мне нужны все IP-адреса, а не только локальные.
И обязательно, чтобы все значения кроме первого могли заменятся символом *
Спустя 1 минута, 31 секунда (29.07.2010 - 10:35) DedMorozzz написал(а):
омг. Тебе написали ответ на 99.99% "изменить" надо пару символов.
Спустя 48 секунд (29.07.2010 - 10:36) linker написал(а):
192 меняется на любое иное значение.
Что-то я не въехал, можно тогда пример маски. Типа так?
Что-то я не въехал, можно тогда пример маски. Типа так?
$Ip = '192.23.22.22';
$Mask = '192.*.*.*';
preg_match('/^' . str_replace('.*', '\.\d{1,3}', $Mask) . '$/', $Ip);
Спустя 11 минут, 55 секунд (29.07.2010 - 10:48) Семён написал(а):
Держи выдрал из своего проекта:
Мде... FatCat уберите в подсветке кода вставку смайлов...
if(!preg_match("/^(??:25[0-5]|2[0-4][0-9]|(??:1[0-9])?|[1-9]?)[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|(??:1[0-9])?|[1-9]?)[0-9])$/",$your_var)) {
echo "Неверный формат IP адреса";
}
Мде... FatCat уберите в подсветке кода вставку смайлов...
Спустя 20 минут, 1 секунда (29.07.2010 - 11:08) bot2b написал(а):
Цитата (linker @ 29.07.2010 - 07:36) |
192 меняется на любое иное значение. Что-то я не въехал, можно тогда пример маски. Типа так? $Ip = '192.23.22.22'; |
Чтобы под выражение попадали:
и 59.146.25.49
и 59.146.25.*
и 59.146.*.*
и 59.*.*.*
Но, не попадали:
*.146.25.49 // тоесть если первый символ не цифра, а *
И при этом, любые цифры в выражении были от 0 до 255.