如何檢查字符串是否包含使用javascript的有效vimeo url?如何檢查字符串是否包含有效的vimeo url usng javascript?
例如:https://vimeo.com/23374724是一個有效的網址。
如何檢查字符串是否包含使用javascript的有效vimeo url?如何檢查字符串是否包含有效的vimeo url usng javascript?
例如:https://vimeo.com/23374724是一個有效的網址。
我不知道「有效的vimeo網址」是什麼,正是如此。如果你想讓它開始https://vimeo.com/
並且後面有一個8位數字,這將做到這一點:
var myurl = "https://vimeo.com/23374724";
if (/https:\/\/vimeo.com\/\d{8}(?=\b|\/)/.test(myurl)) {
alert("matches");
} else {
alert("doesn't match")
};
這是一種醜陋的,因爲所有的\/
逃脫斜槓,但它所做的就是尋找我在上面提到的字符串,後跟一個8位數字的序列,後面跟着任何零寬度的字邊界或另一個正斜槓。
嘗試用正則表達式嗎?
/^(http\:\/\/|https\:\/\/)?(www\.)?(vimeo\.com\/)([0-9]+)$/.test("url");
這應該,如果它以協議開頭,要求它是「http://」或「https://」。然後可以選擇「www。」。然後有「vimeo.com/」。然後有一系列數字。
這取決於你想要什麼,並做出選擇。我會認爲除了「www」以外的所有內容。應該是必需的,但我不確定你正在接受/測試的輸入。要做到這一點,請從特定組中刪除?
(?
出現在它所影響的組之後)。
您可以使用以下正則表達式:
(?:https?\:\/\/)?(?:www\.)?(?:vimeo\.com\/)([0-9]+)
視頻的ID將在第1組中捕獲,如果你需要使用。你可以在debuggex上看到它的行動。
不要依靠正則表達式如Vimeo的趨向改變/更新其URL模式飄飛。截至2017年10月2日,,Vimeo支持共有六種URL方案。
https://vimeo.com/*
https://vimeo.com/*/*/video/*
https://vimeo.com/album/*/video/*
https://vimeo.com/channels/*/*
https://vimeo.com/groups/*/videos/*
https://vimeo.com/ondemand/*/*
而是使用他們的API來驗證vimeo URL。這是一個oEmbed(doc)API,它接受一個URL,檢查它的有效性,並返回一個包含視頻信息的對象(查看開發頁面)。雖然沒有打算,但我們可以很容易地使用它來驗證給定的URL是否來自Vimeo。
所以,用AJAX它是這樣的,
var VIMEO_BASE_URL = "https://vimeo.com/api/oembed.json?url=";
var yourTestUrl = "https://vimeo.com/23374724";
$.ajax({
url: VIMEO_BASE_URL + yourTestUrl,
type: 'GET',
success: function(data) {
if (data != null && data.video_id > 0)
// Valid Vimeo url
else
// not a valid Vimeo url
},
error: function(data) {
// not a valid Vimeo url
}
});
當ID數字計數是大於8。例如,它會返回false它,你的測試網址HTTPS不起作用:// VIMEO。 com/133693532 – 2017-04-18 05:48:04
如果你想要「至少8位數」而不是「完全8位數」,用'\ d {8,}'代替'\ d {8}'。 – 2017-04-18 08:39:37