regexp для валидации URL

Написал регулярное выражение для валидации URL (не URI), некоторое время тестировал - вроде все нормально. Но настораживает, что получилось достаточно короткое. В сети есть примеры - просто монстры.

EDIT:

/^https?:\/\/([a-z0-9-]([a-z0-9-]|(?<!\.)\.)+?(?<!\.)\.[a-z]{2,10}(:\d{1,5})?$)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?$)/

Просьба проверить, какие неправильные варианты регулярка пропустит, и наоборот - какие правильные варианты она она не пропустит.

Две оговорки:

  • адреса вида https://ip-адрес регулярка не проверяет
  • корневые домены имеют длину от 2 до 10 символов (кстати, а как правильно?)

Ответы (0 шт):