Javascript/jQuery:确定给定URL的域:“youtube.com”或“vimeo.com”

Javascript/jQuery: determine given URL's domain: 'youtube.com' or 'vimeo.com'?

本文关键字:com youtube vimeo URL jQuery Javascript 的域      更新时间:2023-09-26

我需要用JS处理URL,并找出它们是否属于 youtube.com,vimeo.com 或不属于它们。我该怎么做?

我发现了这个问题如何使用jquery..?从URL获取域名,但如果它包含在URL中,它会保留"http://www."部分。

编辑:建议indexOf解决方案的人:如果URL路径中有youtube.com怎么办?这可能吗?如www.example.com/?article=why_youtube.com_is_the_best?这个问题可以。(句点)是URL的路径部分的一部分?似乎表明这是一个有效的 URL。

var a = 'http://www.youtube.com/somevideo/vimeo';
var b = 'http://vimeo.com/somevideo/youtube';
var test = checkUrl(b);
console.log(test); //prints Vimeo

function checkUrl(test_url) {
    var testLoc = document.createElement('a');
        testLoc.href = test_url.toLowerCase();
    url = testLoc.hostname;
    var what;
    if (url.indexOf('youtube.com') !== -1) {
        what='Youtube';
    }else if (url.indexOf('vimeo.com') !== -1) {
        what='Vimeo';
    }else{
        what='None';
    }
    return what;
}

小提琴 ​

    if(domain_name.indexOf("youtube.com") != -1 || domain_name.indexOf("vimeo.com") != -1){
        //...
    }
url = url.toLowerCase();
if (url.indexOf('youtube.com') > -1 || url.indexOf('vimeo.com') > -1) .....
var url = 'http://www.youtube.com/myurl/thevideo/';
var host = $('<a>click</a>').attr('href',url)[0].host;
if(host === 'www.youtube.com'){
}

编辑:

如果要删除www,请使用此

var host = $('<a>click</a>').attr('href',url)[0].host.replace('www.','');