我想接受输入,网址或只是一个网站名称,从安卓EditText
的www.google.com和用户点击提交的Button
或当EditText
失去焦点网址应该被验证,就像它是在格式“www.anyURL.com”…
我该怎么做呢?android有没有内置的功能?
发布于 2014-01-22 19:58:56
/**
* This is used to check the given URL is valid or not.
* @param url
* @return true if url is valid, false otherwise.
*/
private boolean isValidUrl(String url) {
Pattern p = Patterns.WEB_URL;
Matcher m = p.matcher(url.toLowerCase());
return m.matches();
}
发布于 2019-11-30 02:04:32
以防万一,在你的UnitTest中,你得到了NullPointerException
,然后使用PatternsCompat
代替Patterns
。
fun isFullPath(potentialUrl: String): Boolean {
return PatternsCompat.WEB_URL.matcher(potentialUrl.toLowerCase(Locale.CANADA)).matches()
}
此外,我意识到当我向此方法传递Photo.jpg
时,它将返回true
。我的期望是false
。因此,我建议使用下面的方法来代替上面的方法。
fun isFullPath(potentialUrl: String): Boolean {
try {
URL(potentialUrl).toURI()
return true
} catch (e: Exception) {
e.printStackTrace()
}
return false
}
发布于 2011-10-13 20:42:12
URLUtil.isValidUrl将工作,因为它从api级别1开始就存在了。
https://stackoverflow.com/questions/5617749
复制相似问题