Фактический синтаксис URL довольно сложен и его нелегко представить в регулярном выражении. Большинство простых на вид регулярных выражений даст много ложных отрицаний, а также ложных срабатываний. См. Для развлечения эти усилия , но даже конечный результат не очень хороший.
Кроме того, в наши дни вы, как правило, хотите разрешить IRI, а также URI старой школы, чтобы мы могли ссылаться на действительные адреса, например:
http://en.wikipedia.org/wiki/Þ
http://例え.テスト/
Я бы пошел только для простых проверок: начинается ли он с хорошо известного метода: name? Это без пробелов и двойных кавычек? Если так, то, черт возьми, это, вероятно, достаточно хорошо.