Hola,
Dejo aquí una función en Javascript para extraer el dominio de segundo nivel de una URL utilizando expresiones regulares.
Código:
/* ServerInfo_URL2SecondLevelDomain();
* Recibe una URL y devuele el dominio de segundo nivel, ejemplo:
*
* URL = http://gmail.google.com/help.php
* Dominio de segundo nivel = "google.com"
*/
function ServerInfo_URL2SecondLevelDomain(pagina) {
var first_split = pagina.split("//");
var without_resource = first_split[1];
var second_split = without_resource.split("/");
var dominio = second_split[0];
// Hasta aqui tendriamos el dominio, en el ejemplo seria "gmail.google.com",
// queda por sacar el dominio de segundo nivel, "google.com".
var patron_dominio2nivel = /([a-zA-Z0-9\-]{1,}).([a-zA-Z]{1,})$/;
dominio2nivel = dominio.match(patron_dominio2nivel);
dominio2nivel = dominio2nivel[1] + "." + dominio2nivel[2];
return dominio2nivel;
}
Espero que os sea util, si conoceis una forma mejor de hacerlo comentarlo. Si es de interés meterla en las FAQs.
Saludos!