YouTubeのビデオの検証に次の正規表現を使用していますshare url's。
var valid = /^(http\:\/\/)?(youtube\.com|youtu\.be)+$/;
alert(valid.test(url));
return false;
次のURL形式を正規表現でサポートする必要があります。
http://youtu.be/cCnrX1w5luM
http://youtube/cCnrX1w5luM
www.youtube.com/cCnrX1w5luM
youtube/cCnrX1w5luM
youtu.be/cCnrX1w5luM
別の正規表現を試しましたが、共有リンクに適した正規表現を取得できません。誰でも私がこれを解決するのを助けることができます。前もって感謝します。
www
がありません\.
はオプションです(youtu.be
とyoutube
の両方が有効であるため)+
では、1つ以上のワイルドカードではなく、1つ以上の(youtube\.com|youtu\.be)
を使用できます.
を使用し、1つ以上が必要なことを示すには+
を使用する必要があります。試してください:
^(https?\:\/\/)?(www\.youtube\.com|youtu\.?be)\/.+$
テスト 。
www.
の有無にかかわらずURLと一致させたい場合は、単にオプションにします:
^(https?\:\/\/)?((www\.)?youtube\.com|youtu\.?be)\/.+$
www.youtu.be/...
も一致させたい場合は、オプションのwww.
を括弧の外側に置きます。
^(https?\:\/\/)?(www\.)?(youtube\.com|youtu\.?be)\/.+$
YouTube URLの重要な部分をビデオコードと照合してキャプチャするために使用する正規表現を次に示します。
^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?$
次のURLで動作します。
https://www.youtube.com/watch?v=DFYRQ_zQ-gk&feature=featured
https://www.youtube.com/watch?v=DFYRQ_zQ-gk
http://www.youtube.com/watch?v=DFYRQ_zQ-gk
//www.youtube.com/watch?v=DFYRQ_zQ-gk
www.youtube.com/watch?v=DFYRQ_zQ-gk
https://youtube.com/watch?v=DFYRQ_zQ-gk
http://youtube.com/watch?v=DFYRQ_zQ-gk
//youtube.com/watch?v=DFYRQ_zQ-gk
youtube.com/watch?v=DFYRQ_zQ-gk
https://m.youtube.com/watch?v=DFYRQ_zQ-gk
http://m.youtube.com/watch?v=DFYRQ_zQ-gk
//m.youtube.com/watch?v=DFYRQ_zQ-gk
m.youtube.com/watch?v=DFYRQ_zQ-gk
https://www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
http://www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
//www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US
https://www.youtube.com/embed/DFYRQ_zQ-gk?autoplay=1
https://www.youtube.com/embed/DFYRQ_zQ-gk
http://www.youtube.com/embed/DFYRQ_zQ-gk
//www.youtube.com/embed/DFYRQ_zQ-gk
www.youtube.com/embed/DFYRQ_zQ-gk
https://youtube.com/embed/DFYRQ_zQ-gk
http://youtube.com/embed/DFYRQ_zQ-gk
//youtube.com/embed/DFYRQ_zQ-gk
youtube.com/embed/DFYRQ_zQ-gk
https://youtu.be/DFYRQ_zQ-gk?t=120
https://youtu.be/DFYRQ_zQ-gk
http://youtu.be/DFYRQ_zQ-gk
//youtu.be/DFYRQ_zQ-gk
youtu.be/DFYRQ_zQ-gk
https://www.youtube.com/HamdiKickProduction?v=DFYRQ_zQ-gk
キャプチャされたグループは次のとおりです。
YouTube動画の形式が変更されました。この正規表現はすべての場合に機能します。
^(http(s)??\:\/\/)?(www\.)?((youtube\.com\/watch\?v=)|(youtu.be\/))([a-zA-Z0-9\-_])+
テスト ここ 。
私はパーティーに2年遅れていることを知っていますが、とにかく何かを書く必要があり、私がそれに投げかけることができるすべてのテストケースに適合するようです。最初の一致($ 1)を参照してIDを取得できる必要があります。 http、https、wwwおよびnon-www、youtube.com、youtu.be、/ watch?と一致しますか?および/watch.php? youtube.com(youtu.beはこれらを使用しません)で、URL文字列に他の変数がある場合でもマッチングをサポートします(?t =は時間、?list =はプレイリストなど)。
(?:https?:\/\/)?(?:youtu\.be\/|(?:www\.|m\.)?youtube\.com\/(?:watch|v|embed)(?:\.php)?(?:\?.*v=|\/))([a-zA-Z0-9\-_]+)
他の多くの正規表現に基づいています。これは私が持っている最高のものです:
((http(s)?:\/\/)?)(www\.)?((youtube\.com\/)|(youtu.be\/))[\S]+
私はこれを試してみましたが、私にとってはうまくいきます。
(?:http(?:s)?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\/))([^\?&\"'<> #]+)
ここで確認できます https://regex101.com/r/Kvk0nB/1