我想v=id从JavaScript 获取YouTube的URL(没有jQuery,纯JavaScript).
http://www.youtube.com/watch?v=u8nQa1cJyX8&a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW
http://www.youtube.com/watch?v=u8nQa1cJyX8
或者在网址中包含视频ID的任何其他YouTube格式.
u8nQa1cJyX8
有人可以告诉我如何从URL中获取youtube id,无论URL中有哪些其他GET变量.
以此视频为例:http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related
所以v=在下一个之间和之前&
我正在使用以下正则表达式来验证youtube视频共享网址.
var valid = /^(http\:\/\/)?(youtube\.com|youtu\.be)+$/;
alert(valid.test(url));
return false;
Run Code Online (Sandbox Code Playgroud)
我希望正则表达式支持以下URL格式:
http://youtu.be/cCnrX1w5luM
http://youtube/cCnrX1w5luM
www.youtube.com/cCnrX1w5luM
youtube/cCnrX1w5luM
youtu.be/cCnrX1w5luM
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的正则表达式,但我没有得到一个合适的共享链接.任何人都可以帮我解决这个问题.提前致谢.
我正在尝试为我的应用验证YouTube网址.
到目前为止,我有以下内容:
// Set the youtube URL
$youtube_url = "www.youtube.com/watch?v=vpfzjcCzdtCk";
if (preg_match("/((http\:\/\/){0,}(www\.){0,}(youtube\.com){1} || (youtu\.be){1}(\/watch\?v\=[^\s]){1})/", $youtube_url) == 1)
{
echo "Valid";
else
{
echo "Invalid";
}
Run Code Online (Sandbox Code Playgroud)
我想验证Youtube网址的以下变体:
但是,我不认为我的逻辑是正确的,因为它会因某种原因而返回 true :( www.youtube.co/watch?v=vpfzjcCzdtCk注意我写的不正确.co而不是.com)
我们以这些网址为例:
这个PHP函数不会在案例1中正确获取ID,但是在案例2中.案例1非常常见,其中任何内容都可以在YouTube ID后面.
/**
* get YouTube video ID from URL
*
* @param string $url
* @return string YouTube video id or FALSE if none found.
*/
function youtube_id_from_url($url) {
$pattern =
'%^# Match any YouTube URL
(?:https?://)? # Optional scheme. Either http or https
(?:www\.)? # Optional www subdomain
(?: # Group host alternatives
youtu\.be/ # Either youtu.be,
| youtube\.com # or youtube.com
(?: # Group path alternatives
/embed/ # Either /embed/
| /v/ # or …Run Code Online (Sandbox Code Playgroud)