Валидация урл
От: Аноним  
Дата: 07.03.08 16:08
Оценка:
Здраствуйте
Чем проверить валидный ли http-урл (вводится вручную в текстовое поле)? Желательно чемто из JDK, а не внешней библиотеки. Проверять есть ли чтото по этому адресу не нужно, просто корректный ли он.
Спасибо.
Re: Валидация урл
От: Blazkowicz Россия  
Дата: 07.03.08 16:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Чем проверить валидный ли http-урл (вводится вручную в текстовое поле)? Желательно чемто из JDK, а не внешней библиотеки. Проверять есть ли чтото по этому адресу не нужно, просто корректный ли он.


new URL() / MalformedUrlException
Re: Валидация урл
От: C0s Россия  
Дата: 07.03.08 16:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Чем проверить валидный ли http-урл (вводится вручную в текстовое поле)? Желательно чемто из JDK, а не внешней библиотеки. Проверять есть ли чтото по этому адресу не нужно, просто корректный ли он.


рискну предположить, что можно просто сконструировать объект java.net.URL или java.net.URI (посмотри, может, у тебя даже именно URI), при конструировании которого может возникнуть исключение. если возникло, значит некорректный.
Re: Валидация урл
От: jitm  
Дата: 08.03.08 21:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здраствуйте

А>Чем проверить валидный ли http-урл (вводится вручную в текстовое поле)? Желательно чемто из JDK, а не внешней библиотеки. Проверять есть ли чтото по этому адресу не нужно, просто корректный ли он.
А>Спасибо.

Тебе тут уже посоветовали создавать инстанс от класса URL or URI, но я хочу внести свою лепту в эту тему ....

Если тебе не нужно проверять что там есть по адрессу который вводится то я так понимаю что тебе просто нужно проверить чи не ввели какую — то бяку в место урла, почему бы не регексп ?
что — то типа этого :
^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?(([a-zA-Z]{1}([\w\-]+\.?)*(\.[\w]{2,5})?)(:[\d]{1,5})?)?((/?\w+/)+|/?)(\w+\.[\w]{3,4})?([,]\w+)*((\?\w+=\w+)?(&\w+=\w+)*([,]\w*)*)?
не проверял но по идее должно работать надеюсь найдёшь как это в джаве подключить
Re[2]: Валидация урл
От: Blazkowicz Россия  
Дата: 09.03.08 15:47
Оценка:
Здравствуйте, jitm, Вы писали:

J>что — то типа этого :

J>
J>^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?(([a-zA-Z]{1}([\w\-]+\.?)*(\.[\w]{2,5})?)(:[\d]{1,5})?)?((/?\w+/)+|/?)(\w+\.[\w]{3,4})?([,]\w+)*((\?\w+=\w+)?(&\w+=\w+)*([,]\w*)*)? 
J>
не проверял но по идее должно работать надеюсь найдёшь как это в джаве подключить

По идее? ИМХО, Regexp для такой штуки надо тестировать и тестировать. Все эти опциональные порты, юзеры, пароли. IP адреса вместо доменных имен и пр.
Есть ещё такое
http://commons.apache.org/validator/apidocs/org/apache/commons/validator/routines/UrlValidator.html
Re[3]: Валидация урл
От: jitm  
Дата: 11.03.08 10:52
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, jitm, Вы писали:


B>По идее? ИМХО, Regexp для такой штуки надо тестировать и тестировать. Все эти опциональные порты, юзеры, пароли. IP адреса вместо доменных имен и пр.

B>Есть ещё такое
B>http://commons.apache.org/validator/apidocs/org/apache/commons/validator/routines/UrlValidator.html

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