И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2017-05-16 13:21:54
Привет всем.
Не могу составить регулярное выражение для проверки валидности домена (не URL).
На хабре валяется типа:
Код: Выделить всё
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
но он проверяет только ya.ru, но никак не
www.ya.ru или yyy.
www.ya.ru
Есть соображения?
Спасибо.
Гость
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2017-05-16 23:08:14
цикл, разделить по точкам, что внутри точек - проверить регуляркой
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2017-05-17 6:16:02
Alex Keda писал(а):цикл, разделить по точкам, что внутри точек - проверить регуляркой
Извиняюсь, эта регулярка проверяет домены 2,3 и последующих уровней, но она не предназначена для idna доменов.
Есть идеи?
Гость
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2017-06-01 21:24:31
Что-то типа
такой регулярки:
Пример использования
Код: Выделить всё
% echo "www.ru\nmy.domain.com\nfoo\nsome-other.bar\n10.0.0.1\n-fooo.ru\nso.many.domains.com" | php -R 'echo $argn," ",var_export((bool)preg_match("/^([a-zA-Z][\w-]*\.)+\w+$/", $argn), 1), "\n";'
www.ru true
my.domain.com true
foo false
some-other.bar true
10.0.0.1 false
-fooo.ru false
so.many.domains.com true
zg
-
Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2017-06-03 20:51:36
телепатирую следующий вопрос - а где тут регулярка?

)
Убей их всех! Бог потом рассортирует...
Alex Keda
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2017-06-03 21:22:07
Да, согласен, было не совсем ясно

поправил
zg