[英]How to check if the string contains a valid vimeo url usng javascript?
嘗試使用正則表達式嗎?
/^(http\:\/\/|https\:\/\/)?(www\.)?(vimeo\.com\/)([0-9]+)$/.test("url");
如果以協議開頭,則應為“ http://”或“ https://”。 然后可以選擇使用“ www。”。 然后輸入“ vimeo.com/”。 然后有一系列數字。
由您決定需要什么並使其可選。 我會認為除“ www”外的所有內容。 應該是必需的,但是我不確定您正在接收/測試的輸入。 要使其成為必需,請刪除?
來自特定組( ?
緊跟其影響的組)。
確切地說,我不知道什么是“有效的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位數字的序列,后跟任意零寬度的單詞邊界或另一個正斜杠。
不要依賴Regex,因為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
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.