关键词:
【中文标题】Android / Java:检查 url 是不是有效 youtube url【英文标题】:Android / Java: Check if url is valid youtube urlAndroid / Java:检查 url 是否有效 youtube url 【发布时间】:2014-07-24 17:12:37 【问题描述】:我想检查一个 url 是否是有效的 youtube url,以便我可以显示在视图中,否则我将隐藏视图。
Java 中是否有任何正则表达式可以帮助我检查 url 是否有效。目前我正在使用这个正则表达式,但我想这不是我想要的:
String youTubeURl = "https://www.youtube.com/watch?v=Btr8uOU0BkI";
String pattern = "https?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:youtu\\.be\\/|youtube\\.com\\S*[^\\w\\-\\s])([\\w\\-]11)(?=[^\\w\\-]|$)(?![?=&+%\\w]*(?:['\"][^<>]*>|<\\/a>))[?=&+%\\w]*";
if (!youTubeURl.isEmpty() && youTubeURl.matches(pattern))
/// Valid youtube URL
else
// Not Valid youtube URL
【问题讨论】:
尝试与 url 建立 http-connection 并检查响应代码 【参考方案1】:这对我有用。
public static boolean isYoutubeUrl(String youTubeURl)
boolean success;
String pattern = "^(http(s)?:\\/\\/)?((w)3.)?youtu(be|.be)?(\\.com)?\\/.+";
if (!youTubeURl.isEmpty() && youTubeURl.matches(pattern))
success = true;
else
// Not Valid youtube URL
success = false;
return success;
如果要检索 Youtube videoId,可以使用以下函数。
public static String getVideoIdFromYoutubeUrl(String youtubeUrl)
/*
Possibile Youtube urls.
http://www.youtube.com/watch?v=WK0YhfKqdaI
http://www.youtube.com/embed/WK0YhfKqdaI
http://www.youtube.com/v/WK0YhfKqdaI
http://www.youtube-nocookie.com/v/WK0YhfKqdaI?version=3&hl=en_US&rel=0
http://www.youtube.com/watch?v=WK0YhfKqdaI
http://www.youtube.com/watch?feature=player_embedded&v=WK0YhfKqdaI
http://www.youtube.com/e/WK0YhfKqdaI
http://youtu.be/WK0YhfKqdaI
*/
String pattern = "(?<=watch\\?v=|/videos/|embed\\/|youtu.be\\/|\\/v\\/|\\/e\\/|watch\\?v%3D|watch\\?feature=player_embedded&v=|%2Fvideos%2F|embed%\u200C\u200B2F|youtu.be%2F|%2Fv%2F)[^#\\&\\?\\n]*";
Pattern compiledPattern = Pattern.compile(pattern);
//url is youtube url for which you want to extract the id.
Matcher matcher = compiledPattern.matcher(youtubeUrl);
if (matcher.find())
return matcher.group();
return null;
【讨论】:
【参考方案2】:为了实现你想要的,你应该像这样使用这个正则表达式:
private static final Pattern youtubePattern = Pattern.compile("^(http(s)?:\/\/)?((w)3.)?youtu(be|.be)?(\.com)?\/.+");
private boolean isValid = youtubePattern.matcher(youtubeUrl).matches();
其中youtubeUrl
可以是以下列表的任何 URL:
此正则表达式可以匹配与 youtube.com 相关的任何类型的 URL
【讨论】:
部分网址已失效! 是的,但是目的是一样的,就是验证URL是否来自Youtube @RobertoOsorioMcNulty 字符串中的正则表达式应该是 "^(http(s)?:\\/\\/)?((w)3.)?youtu(be|.be) ?(\\.com)?\\/.+"【参考方案3】:这不会检查 URL 是否有效。它仅在您的 URL 中检查字符串“youtube”和“youtu.be”。以下是正则表达式
String yourUrl = "https://youtu.be/Xh0-x1RFEOY";
yourUrl.matches(".*(youtube|youtu.be).*")
" .* " 在开头和结尾表示您正在检查的表达式(youtube & youtu.be) 的左右两侧可能有任何内容。
注意:这与网址的有效性无关
【讨论】:
如果您的网址中有“youtube”或“youtu.be”字样,这将不起作用。例如,指向此帖子的链接也返回 true【参考方案4】:使用android.webkit.URLUtil.isValidUrl(java.lang.String) 来检查 url 是否有效。然后您可以检查 url 是否包含 Youtube 字符串。
喜欢
private boolean isValidUrl(String url)
if (url == null)
return false;
if (URLUtil.isValidUrl(url))
// Check host of url if youtube exists
Uri uri = Uri.parse(url);
if ("www.youtube.com".equals(uri.getHost()))
return true;
// Other way You can check into url also like
//if (url.startsWith("https://www.youtube.com/"))
//return true;
//
// In other any case
return false;
【讨论】:
在这种情况下“youtu.be/zuf8A0udHrs”呢?我无法从 url 获取 YouTube 视频 ID。 这不是一个有效的 youtube 网址。【参考方案5】:你应该使用
Patterns.WEB_URL.matcher(youTubeURl).matches()
如果 URL 有效则返回 True,如果 URL 无效则返回 false。
【讨论】:
检查url是不是被缓存webview android
】检查url是不是被缓存webviewandroid【英文标题】:Checkifurliscachedwebviewandroid检查url是否被缓存webviewandroid【发布时间】:2015-12-1404:19:39【问题描述】:我使用webview来加载html页面和url。我只想在互联网可用或url内容被web视图缓存的... 查看详情
如何检查 URL 在 Android 中是不是有效
】如何检查URL在Android中是不是有效【英文标题】:HowtocheckifURLisvalidinAndroid如何检查URL在Android中是否有效【发布时间】:2011-06-2118:18:10【问题描述】:是否有避免导致应用程序崩溃的“主机未解析”错误的好方法?某种方式尝试... 查看详情
Android 使用其 URL 检查文件是不是存在于远程服务器中
】Android使用其URL检查文件是不是存在于远程服务器中【英文标题】:AndroidchecksiffileexistsinaremoteserverusingitsURLAndroid使用其URL检查文件是否存在于远程服务器中【发布时间】:2014-06-3015:26:23【问题描述】:我希望我的Android程序使用... 查看详情
在 Cordova 中检查是不是在 iOS 或 Android 上注册了 URL 方案
】在Cordova中检查是不是在iOS或Android上注册了URL方案【英文标题】:CheckifaURLschemeisregisteredoniOSorAndroidinCordova在Cordova中检查是否在iOS或Android上注册了URL方案【发布时间】:2014-05-2014:48:36【问题描述】:我想检查一个特定的应用程... 查看详情
如何检查 URL 是不是存在或使用 Java 返回 404?
】如何检查URL是不是存在或使用Java返回404?【英文标题】:HowtocheckifaURLexistsorreturns404withJava?如何检查URL是否存在或使用Java返回404?【发布时间】:2010-11-2513:53:43【问题描述】:StringurlString="http://www.nbc.com/Heroes/novels/downloads/Heroes... 查看详情
在 ServletRequests 上使用 java Filter 时如何检查 url 是不是具有有效映射
】在ServletRequests上使用javaFilter时如何检查url是不是具有有效映射【英文标题】:HowtocheckifurlhasvalidmappingwhenusingjavaFilteronServletRequests在ServletRequests上使用javaFilter时如何检查url是否具有有效映射【发布时间】:2016-05-1912:03:57【问题... 查看详情
检查端口是不是在 Android/Java 上打开
】检查端口是不是在Android/Java上打开【英文标题】:CheckifPortisopenonAndroid/Java检查端口是否在Android/Java上打开【发布时间】:2013-08-1912:15:06【问题描述】:我想检查一个端口是否打开,或者是否有服务器在其上运行。我已经尝试... 查看详情
如何在 Java / Android 中检查数字是不是为“NaN”? [复制]
】如何在Java/Android中检查数字是不是为“NaN”?[复制]【英文标题】:Howtocheckwhetheranumberisa"NaN"inJava/Android?[duplicate]如何在Java/Android中检查数字是否为“NaN”?[复制]【发布时间】:2013-08-2206:18:19【问题描述】:请看下面的... 查看详情
Android Java 检查联系人是不是有名字
】AndroidJava检查联系人是不是有名字【英文标题】:AndroidJavaCheckifContacthasnameornotAndroidJava检查联系人是否有名字【发布时间】:2021-04-2209:54:33【问题描述】:我正在尝试通过ContentResolver查询获取电话联系方式。我可以获取联系人... 查看详情
检查是不是安装了应用程序 - Android
】检查是不是安装了应用程序-Android【英文标题】:Checkifapplicationisinstalled-Android检查是否安装了应用程序-Android【发布时间】:2013-09-1603:03:58【问题描述】:我正在尝试从GooglePlay安装应用程序。我可以理解,在打开GooglePlay商店UR... 查看详情
检查 URL 是不是存在
】检查URL是不是存在【英文标题】:CheckingifaURLexistsornot检查URL是否存在【发布时间】:2011-05-0920:05:14【问题描述】:我需要检查一个URL是否存在。我想为此编写一个servlet,即检查URL是否存在。如果输入的URL不存在,那么它应该... 查看详情
如何使用 Android Webview 检查链接是不是脱机或损坏?
】如何使用AndroidWebview检查链接是不是脱机或损坏?【英文标题】:HowtocheckifLinkisofflineorbrokenwithAndroidWebview?如何使用AndroidWebview检查链接是否脱机或损坏?【发布时间】:2016-01-2513:26:41【问题描述】:我使用AndroidWebview来加载这... 查看详情
检查url图片是不是存在
】检查url图片是不是存在【英文标题】:Checkifurlimageexist检查url图片是否存在【发布时间】:2015-04-3008:39:03【问题描述】:我正在尝试使用if语句检查url图像是否存在。但是,当尝试通过错误的图像url对其进行测试时,它会不断... 查看详情
如何检查 URL 是不是包含某些单词?
】如何检查URL是不是包含某些单词?【英文标题】:HowtocheckifURLcontainscertainwords?如何检查URL是否包含某些单词?【发布时间】:2019-03-2301:32:32【问题描述】:如果当前URL包含某些单词,我想显示自定义内容。到目前为止,如果URL... 查看详情
如何检查图片是不是存在于url
】如何检查图片是不是存在于url【英文标题】:Howtocheckifimageexistsaturl如何检查图片是否存在于url【发布时间】:2014-06-1211:57:19【问题描述】:我正在尝试加载一组直接链接到图像的url。问题是某些图像不存在,我想在尝试加载... 查看详情
检查当前 URL 是不是包含哈希 [重复]
】检查当前URL是不是包含哈希[重复]【英文标题】:CheckifcurrentURLcontainshash[duplicate]检查当前URL是否包含哈希[重复]【发布时间】:2018-02-1807:34:56【问题描述】:使用Javascript如何检查当前URL是否包含哈希?在测试页面中我想添加一... 查看详情
如何检查元素是不是可见并使用 JQuery 检查 URL 是不是包含字符串?
】如何检查元素是不是可见并使用JQuery检查URL是不是包含字符串?【英文标题】:HowdoIcheckifanelementisvisibleandcheckiftheURLcontainsastringusingJQuery?如何检查元素是否可见并使用JQuery检查URL是否包含字符串?【发布时间】:2017-06-1210:35:25... 查看详情
如何通过 PHP 检查 URL 是不是存在?
】如何通过PHP检查URL是不是存在?【英文标题】:HowcanIcheckifaURLexistsviaPHP?如何通过PHP检查URL是否存在?【发布时间】:2011-01-1720:00:17【问题描述】:如何在PHP中检查URL是否存在(不是404)?【问题讨论】:Howcanonechecktoseeifaremotef... 查看详情