Была та же задача, но все регулярные выражения, которые я нашел в Интернете для проверки правильности URL, не были выполнены в некоторых тестовых случаях.
Вот регулярное выражение, которое работало все:
/^(http:\/\/www\.|https:\/\/www\.|www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?/
Однако, если URL-адрес был таким: google.com Он принял его как действительный (что в моем конкретном случае считалось недействительным )
Это сработало лучше всего, что я нашел. Работал как шарм!