Регулярка для домена

И всё прочее, что касается 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

Есть соображения?

Спасибо.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34854
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Регулярка для домена

Непрочитанное сообщение Alex Keda » 2017-05-16 23:08:14

цикл, разделить по точкам, что внутри точек - проверить регуляркой
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Регулярка для домена

Непрочитанное сообщение Гость » 2017-05-17 6:16:02

Alex Keda писал(а):цикл, разделить по точкам, что внутри точек - проверить регуляркой

Извиняюсь, эта регулярка проверяет домены 2,3 и последующих уровней, но она не предназначена для idna доменов.
Есть идеи?

zg
полковник
Сообщения: 5838
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Регулярка для домена

Непрочитанное сообщение zg » 2017-06-01 21:24:31

Что-то типа такой регулярки:

Код: Выделить всё

/^([a-zA-Z][\w-]*\.)+\w+$/

Пример использования

Код: Выделить всё

% 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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34854
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Регулярка для домена

Непрочитанное сообщение Alex Keda » 2017-06-03 20:51:36

телепатирую следующий вопрос - а где тут регулярка? =))
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5838
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Регулярка для домена

Непрочитанное сообщение zg » 2017-06-03 21:22:07

Да, согласен, было не совсем ясно :) поправил


Вернуться в «PHP, PERL, JS, HTML...»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость