Какое регулярное выражение лучше всего проверить, является ли строка допустимым URL-адресом? - PullRequest
719 голосов
/ 02 октября 2008

Как я могу проверить, является ли данная строка действительным URL-адресом?

Мои знания регулярных выражений являются базовыми и не позволяют мне выбирать из сотен регулярных выражений, которые я уже видел в Интернете.

Ответы [ 52 ]

0 голосов
/ 09 мая 2019

Вот хорошее правило, которое охватывает все возможные случаи: порты, параметры и т. Д.

/(https?:\/\/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9])(:?\d*)\/?([a-z_\/0-9\-#.]*)\??([a-z_\/0-9\-#=&]*)/g
0 голосов
/ 29 августа 2016

Мне кажется, я нашел более общее регулярное выражение для проверки URL, особенно веб-сайтов

​(https?:\/\/)?(www\.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)|(https?:\/\/)?(www\.)?(?!ww)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

это не позволяет, например, www.something или http://www или http://www.something

Проверьте это здесь: http://regexr.com/3e4a2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...