在EditText中为android验证特定URL输入

时间:2014-09-16 07:45:51

标签: android url save jsoup

我的申请是关于从特定网站下载图片,例如www.example.com/img-...

用户将img的url输入到EditText字段。例如www.example.com/img-123

我的问题是,当用户输入错误的网址,即没有图片的网址时,网址为空,例如www.example.com/img-222

我想检测到这一点并告诉用户他们的输入没有链接到图像并再试一次。

我使用isValidUrl()函数来检测输入是否只是一个WEB_URL,但我想要的是当输入的url没有图像时,程序应该告诉他们这是一个不正确的格式网址。

我正在使用Jsoup.connect(url).get();连接到网址并获取图片并保存

private boolean isValidUrl(String url) {
    Pattern p = Patterns.WEB_URL;
    Matcher m = p.matcher(url);
    if(m.matches())
        return true;
    else
    return false;
}

3 个答案:

答案 0 :(得分:1)

String[] schemes = {"http","https"}; //DEFAULT schemes = "http", "https", "ftp"

UrlValidator urlValidator = new UrlValidator(schemes);

if (urlValidator.isValid("http://www.google.com")) {
    //url is valid
}else{
    //url is invalid
}

使用Apache commons-validator URLValidator class

答案 1 :(得分:1)

我们可以使用Android原生 android.webkit.URLUtil 类来验证任何类型的网址。

<input id="date-picker-3" type="text" class="date-picker form-control" />
如果有效其他错误 返回为真。

答案 2 :(得分:0)

我试过这个,它对我有用。请在下面找到代码段:

public static boolean isURL(String url) {
        Pattern p = Patterns.WEB_URL;
        Matcher m = p.matcher(url.toLowerCase());
        return m.matches();
    }