Hay muchas preguntas SO que parecen abordar las variaciones de esta pregunta. Pero tienden a ser respuestas de expresiones regulares complejas y espero poder encontrar algo más simple.Obtiene el dominio raíz de location.host
valores location.host dado de
foo.mysite.com
app.foo.mysite.com
mysite.com
¿Cómo puedo obtener el dominio raíz mysite.com
?
Podría hacer algo así como encontrar el penúltimo .
, pero esto parece feo y no funcionaría para ningún TLD como .co.uk
. Si jQuery tiene un objeto que contiene esta información, me complace utilizarlo.
Mi objetivo es crear cookies que existen en todos los subdominios. Para hacer esto, necesito encontrar .mysite.com
. Prefiero no codificarlo.
dado una lista de dominios de nivel superior válido no debería ser difícil, en lugar del penúltimo '.' quieres el primer' .' (readin g de derecha a izquierda) después del TLD. Podría hacer esto con una gran expresión regular o un bucle, pero este último normalmente sería menos eficiente. – jimw
Una lista completa se puede encontrar aquí: http://publicsuffix.org/ Si usas una expresión regular o de alguna otra manera no supondrá una gran diferencia, supongo. En cualquier caso, debe considerar todos los TLD y SLD públicos. Eche un vistazo a http://stackoverflow.com/questions/4452916/need-a-regular-expression-to-capture-second-level-domain-sld. –
Hay un proyecto para hacer esto en https://github.com/riffraff/publicsuffix.js pero dice que está "roto". No lo he intentado, pero podría ser la base de tu solución. –