//...your imports
import org.apache.commons.validator.routines.*; // Import routines package!
public static void main(String[] args){
// Get an UrlValidator
UrlValidator defaultValidator = new UrlValidator(); // default schemes
if (defaultValidator.isValid("http://www.apache.org")) {
System.out.println("valid");
}
if (!defaultValidator.isValid("http//www.oops.com")) {
System.out.println("INvalid");
}
// Get an UrlValidator with custom schemes
String[] customSchemes = { "sftp", "scp", "https" };
UrlValidator customValidator = new UrlValidator(customSchemes);
if (!customValidator.isValid("http://www.apache.org")) {
System.out.println("valid");
}
// Get an UrlValidator that allows double slashes in the path
UrlValidator doubleSlashValidator = new UrlValidator(UrlValidator.ALLOW_2_SLASHES);
if (doubleSlashValidator.isValid("http://www.apache.org//projects")) {
System.out.println("INvalid");
}
8条答案
按热度按时间mdfafbf11#
您可以尝试从它创建一个
java.net.URL
对象。如果它不是一个正确的URL,将抛出一个MalformedURLException
。bejyjqdl2#
您可以从commons-validator中使用
UrlValidator
。它将使您不必编写通过捕获异常来指导逻辑流的代码,这通常被认为是一种不好的做法。然而,在这种情况下,我认为按照其他人的建议进行操作是很好的,如果您将此功能移到一个名为isValidUrl(..)
的实用程序方法中0qx6xfy63#
对于Android,只需添加以下行:
ni65a41a4#
这将根据RFC2396进行检查,类似于
<scheme>://<authority><path>?<query>#<fragment>
,但scheme
必须由URL
源代码已知。这些无效:telnet://melvyl.ucop.edu
news:comp.infosystems.www.servers.unix
www.google.com
jucafojl5#
如果您在Android中编程,则可以使用
android.webkit.URLUtil
进行测试。希望能有所帮助。
ldxq2e6h6#
补充Bozho的回答,去更实际:
1.下载apache公共文件package并解压缩。
1.在java构建路径中包含commons-validator-1.4.0.jar。
1.使用以下示例代码(参考)进行测试:
1.运行/调试
bakd9h0s7#
此函数验证URL,并返回true(有效URL)或false(无效URL)。
一定要
import java.net.URL;
7dl7o3gd8#
这是一个正则表达式来验证协议http,https,ftp和ftp的URL。