Как определить, является ли строка веб-адресом? - PullRequest
2 голосов
/ 09 февраля 2009

Как лучше всего определить, представляет ли строка веб-адрес? Мне нужно разрешить пользователю вводить веб-адрес в форму, но как мне проверить ввод? Пользователю должно быть разрешено вводить строки, например "http://www.google.com"" или "www.vg.no", но он не обязан вводить строки "http://".". Кроме того, существуют веб-страницы, например "tv2.no". «который сложнее проверить. Если я проверю, содержит ли строка "www" или "http://", у меня есть сильная подсказка, но я все еще не уверен на 100%. Могу ли я когда-либо быть уверен на 100%? Я так не думаю, но, возможно, некоторые из тонких умов здесь, в ТАК, можете просветить меня?

Ответы [ 12 ]

0 голосов
/ 09 февраля 2009

Я думаю, что самый быстрый способ сделать это - воспользоваться тестом регулярных выражений. Это, однако, не докажет, является ли его действительный URL

0 голосов
/ 09 февраля 2009

Если вы не хотите требовать, чтобы они вводили http: // (или https://), то единственное, на что вы действительно можете перейти, так это то, содержит ли строка «.» (Я полагаю, вам не нужно обрабатывать «внутренние» серверы?). Вы также можете проверять на соответствие известным доменам и проверять наличие недопустимых символов, но помимо этого почти все идет.

Что касается фактической реализации, регулярное выражение было бы способом, если бы вы могли с этим справиться ... без сомнения, существует бесчисленное множество примеров проверки URL, если вы используете Google.

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