2016-07-30 43 views
0

尝试下面的代码,但它不会处理所有的情况下,像安卓:从URL获取youtubeVideo ID为YouTubePlayer

1) “https://youtu.be/zuf8A0udHrs

2)“ https://www.youtube.com/watch?v=zuf8A0udHrs

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; 
} 

回答

0

我认为你可以使用正则表达式来检查一个有效的链接。

String pattern = "http(?:s?):\\/\\/(?:www\\.)?youtu(?:be\\.com\\/watch\\?v=|\\.be\\/)([\\w\\-\\_]*)(&(amp;)?‌​[\\w\\?‌​=]*)?"; 
     String link1 = "https://youtu.be/zuf8A0udHrs"; 
     String link2 = "https://www.youtube.com/watch?v=zuf8A0udHrs"; 

     if(link2.matches(pattern)) { 
      System.out.println("YES"); 
     } else { 
      System.out.println("NO"); 
     }