我正在制作一個涉及用戶與視頻互動的應用程式。該視頻將來自 2 個來源中的 1 個,或者作為嵌入式 YouTube 視頻(然后我需要使用 YT iFrame API 進行查詢)或者它只是一個嵌入式 mp4 檔案,我可以使用 HTML DOM 參考很好地查詢它。
我想在我的 init() 函式中檢查視頻是 youtube URL 還是檔案名。
這看起來合適嗎,還是我可能會遺漏某種邊緣情況?
function init(){
playerSource = Document.getElementById('vid').src;
if ( playerSource.includes("https://www.youtube") ){
//Call to function that begins setting up YT iFrame API
}
}
提前致謝!
uj5u.com熱心網友回復:
您可以使用以下正則運算式驗證 youtube URL。
regExp = /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?. &v=))((\w|-){11})(?:\S )?$/
Youtube 有不同的 url 形式,具體取決于您從哪里獲取
普通網址
https://www.youtube.com/watch?v=12345678901
分享網址
https://youtu.be/12345678901
與開始時間共享 URL
https://youtu.be/12345678901?t=6
手機瀏覽器地址
https://m.youtube.com/watch?v=12345678901&list=RD12345678901&start_radio=1
長網址
https://www.youtube.com/watch?v=12345678901&list=RD12345678901&start_radio=1&rv=smKgVuS
帶有開始時間的長網址
https://www.youtube.com/watch?v=12345678901&list=RD12345678901&start_radio=1&rv=12345678901&t=38
您可以在https://regex101.com/r/7a1lGH/1下方查看這些 URL 驗證
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431082.html
