Maison  >  Article  >  interface Web  >  Question amusante JavaScript : extraire le nom de domaine de l'URL

Question amusante JavaScript : extraire le nom de domaine de l'URL

黄舟
黄舟original
2017-01-22 14:48:151417parcourir

Étant donné une chaîne d'URL, comment l'analyser et en extraire le nom de domaine ?

Comme indiqué ci-dessous :

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

Comme nous le savons tous, la première partie de l'URL est le nom du protocole. Il peut être de plusieurs types, tels que http, https et même. d'autres protocoles seront ajoutés à l'avenir, donc si tous les noms de protocole correspondent, l'évolutivité sera trop faible.

Cependant, quel que soit le type d'accord que vous avez, ce paragraphe est essentiel - "://".

Et souvent, cette chaîne est suivie du nom de domaine, et on peut intercepter la chaîne.

Le code suivant explique en détail :

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];  
}

Cette méthode ne considère que plusieurs situations courantes. Certaines situations, comme les noms de sous-domaines, ne sont pas prises en compte.

Ce qui précède est une question JavaScript intéressante : extraire le contenu du nom de domaine de l'URL. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn