youtubeのURLから、動画のID(?)だけを抜き出したいです。
パターンがいくつかあるのですが、
どのURLの場合でも、抜き出したいです。
jQueryなどは使えません。
http://www.youtube.com/user/AKB48?feature=watch#p/search/0/lkHlnWFnA0c
http://www.youtube.com/watch?v=lkHlnWFnA0c&feature=youtu.be
https://www.youtube-nocookie.com/v/lkHlnWFnA0c?version=3&hl=ja_JP
https://www.youtube-nocookie.com/embed/lkHlnWFnA0c
http://youtu.be/lkHlnWFnA0c
から
lkHlnWFnA0c
を変数に入れたいです。
正規表現が得意な方、よろしくお願いします。
idの条件は11桁の英数字,ハイフン,アンダーバーのようなので、
['http://www.youtube.com/user/AKB48?feature=watch#p/search/0/lkHlnWFnA0c', 'http://www.youtube.com/watch?v=lkHlnWFnA0c&feature=youtu.be', 'https://www.youtube-nocookie.com/v/lkHlnWFnA0c?version=3&hl=ja_JP', 'https://www.youtube-nocookie.com/embed/lkHlnWFnA0c', 'http://youtu.be/lkHlnWFnA0c'].forEach(function(e){ console.log(/[/?=]([-\w]{11})/.exec(e)[1]) })
var url = 'http://www.youtube.com/user/AKB48?feature=watch#p/search/0/lkHlnWFnA0c'; var id = /[/?=]([-\w]{11})/.exec(url); if (id) { id = id[1]; alert(id); }
変数urlにyoutubeのURLが入っているとします。
以下のスクリプトで変数strにID部分が代入されます。
var mat = url.match(/[\/?=]([a-zA-Z0-9]{11})[&\?]?/); var str = mat[1];
ありがとうございます。
idの条件は11桁の英数字,ハイフン,アンダーバーのようなので、
['http://www.youtube.com/user/AKB48?feature=watch#p/search/0/lkHlnWFnA0c', 'http://www.youtube.com/watch?v=lkHlnWFnA0c&feature=youtu.be', 'https://www.youtube-nocookie.com/v/lkHlnWFnA0c?version=3&hl=ja_JP', 'https://www.youtube-nocookie.com/embed/lkHlnWFnA0c', 'http://youtu.be/lkHlnWFnA0c'].forEach(function(e){ console.log(/[/?=]([-\w]{11})/.exec(e)[1]) })
var url = 'http://www.youtube.com/user/AKB48?feature=watch#p/search/0/lkHlnWFnA0c'; var id = /[/?=]([-\w]{11})/.exec(url); if (id) { id = id[1]; alert(id); }
ありがとうございます。
ありがとうございます。
2012/01/28 09:56:15