【求助】JavaScript获取域名的问题
<script>
var arydomain = new Array(".com",".cn",".com.cn",".net",".net.cn",".cc",".org",".org.cn",".gov.cn",".info",".biz",".tv");
var domain = document.domain;
var tmpdomain = "";
for(var i=0;i<arydomain.length; i++)
{
tmpdomain = arydomain[i];
if(domain.indexOf(tmpdomain) != -1)
{
domain = domain.replace(tmpdomain,"");
domain = domain.substring(domain.lastIndexOf(".")+1,domain.length);
domain = domain + tmpdomain;
break;
}
}
document.write (domain)
</script>
当前代码是获取域名用的,假设domain是一级域名,如abc.com或www.abc.com或*.abc.com,获得都是abc.com,过滤前面的二级域.这是我需要的.但是如果是二级域名开始,获取就错误了,比如abc.com.cn或www.abc.com.cn或*.abc.com.cn,就成了cn.com了,我要获取的是abc.com.cn,那abc.com.cn前的任何域以及abc.com.cn之后的全部截去.我应该要怎么做?请高手帮助我.
参考答案:<script>
var arydomain = new Array(".com.cn",".net.cn",".org.cn",".gov.cn",".com",".cn",".net",".cc",".org",".info",".biz",".tv");
var domain = document.domain;
var tmpdomain = "";
for(var i=0;i<arydomain.length; i++)
{
tmpdomain = arydomain[i];
if(domain.indexOf(tmpdomain) != -1)
{
domain = domain.replace(tmpdomain,"");
domain = domain.substring(domain.lastIndexOf(".")+1,domain.length);
domain = domain + tmpdomain;
break;
}
}
document.write (domain)
</script>
把数组元素位置换一下,先过滤com.cn这种格式滴~