JavaScript趣题:从URL中提取域名

黄舟
Lepaskan: 2017-01-22 14:48:15
asal
1364 orang telah melayarinya

给定一个URL字符串,如何解析它,并从中提取出域名?

如下所示:

domainName("http://github.com/carbonfive/raygun") == "github"   
domainName("http://www.zombie-bites.com") == "zombie-bites"  
domainName("https://www.cnet.com") == "cnet"
Salin selepas log masuk

大家都知道,URL的第一部分是协议名,这个可以有很多种,比如http,https,甚至以后会新增更多的协议,因此如果把所有的协议名都拿过来匹配,可扩展性太差了。

但是,不管你是怎样的协议,这一段是必不可少的——"://"。

而且往往,这段字符串后面紧接着的就是域名,我们可以做字符串截取。

下面的代码做了详细说明:

function domainName(url){  
    var sign = "://";  
    var pos = url.indexOf(sign);  
    //如果以协议名开头  
    //如:http://github.com/  
    if(pos >= 0){  
        pos += sign.length;  
        //截取协议名以后的部分  
        //github.com/  
        url = url.slice(pos);  
    }  
    //以小数点作分割  
    var array = url.split(".");  
    //如果是以3W开头,返回第二部分  
    //如:www.github.com  
    if(array[0] === "www"){  
        return array[1];  
    }  
    //如果不是以3W开头,则返回第一部分  
    //如:github.com/  
    return array[0];  
}
Salin selepas log masuk

这个方法只考虑了几种通用情况,有些情况,比如说有子域名,没有考虑。

以上就是JavaScript趣题:从URL中提取域名的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!