我在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()
但没有用,
谁能给我一些关于此的想法。
答案 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!");
您可以设置几个属性来控制此类的行为方式,默认情况下http
,https
和ftp
被接受。