如何确定URL是否具有有效域或它是否是有效的URL?

时间:2013-01-29 07:20:58

标签: android

我在Android原生消息中得到的东西,每当我们向某个人发送消息时,在文本中都有一个url,android会识别并强调它将其显示为链接,它会为许多域执行此操作,例如.us ,.uk,.dk,.ch和所有其他人都有效。 即使我们发送没有'www'或'http'的jhjh.us,它也会将其识别为链接。 如果域名出错,则不会做任何事情。

我想要同样的事情,我尝试使用模式

(((https?|ftp|file)://)|(www\\.))"+ "[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]

它确实很好,但在域中它没有帮助。也尝试使用URLUtil.isValidUrl()但没有用, 谁能给我一些关于此的想法。

2 个答案:

答案 0 :(得分:2)

你可以试试这个

public boolean isURL(String url)
{
        try {
            new URL(url);
            return true;
        } catch (MalformedURLException e) {
            return false;
        }
}

答案 1 :(得分:2)

您可以使用Use UrlValidator验证网址 考虑到您使用的是Class UrlValidator

 UrlValidator urlValidator = new UrlValidator();
 urlValidator.isValid("http://Test Link!");

您可以设置几个属性来控制此类的行为方式,默认情况下httphttpsftp被接受。