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 символов (кстати, а как правильно?)