Gro*_*uez 55
您可以尝试从中创建一个java.net.URL对象.如果它不是正确的URL,MalformedURLException将抛出一个.
Boz*_*zho 42
您可以使用UrlValidator从公地验证.它将使您免于编写通过缓存异常来引导逻辑流的代码,这通常被认为是一种不好的做法.但是,在这种情况下,如果将此功能移动到名为的实用程序方法,我认为像其他人建议的那样做很好isValidUrl(..)
Raf*_*809 13
对于Android,只需添加以下行:
boolean isValid = URLUtil.isValidUrl( "your.uri" );
Run Code Online (Sandbox Code Playgroud)
补充Bozho答案,更加实用:

使用此示例代码进行测试(参考):
//...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");
}
Run Code Online (Sandbox Code Playgroud)运行/调试
如果你在Android中编程,你可以android.webkit.URLUtil用来测试.
URLUtil.isHttpUrl(url)
URLUtil.isHttpsUrl(url)
Run Code Online (Sandbox Code Playgroud)
希望它会有所帮助.
干得好:
public static boolean isValidURL(String urlString)
{
try
{
URL url = new URL(urlString);
url.toURI();
return true;
} catch (Exception exception)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65026 次 |
| 最近记录: |