工作中要用到,就随手写了个,不是什么难题,分享给有需要的朋友(主要是很久没更新博客了)。

如果有特殊域名,比如“.tj.cn",请将".tj"加到hostExts数组中(因为.cn已经存在了,可以不用加)。

function getPrimaryHost(host) {
var hostExts = [".com", ".cn", ".net", ".cc", ".sh", ".org"], ext = [], reExt;
for (var i = 0; i < hostExts.length; i++) {
if (host.indexOf(hostExts[i]) != -1) {
ext[ext.length] = hostExts[i];
reExt = new RegExp("\\" + hostExts[i]);
host = host.replace(reExt, "{" + (ext.length - 1) + "}");
}
else
break;
}
var hostarray = host.split('.');
host = hostarray[hostarray.length - 1];
for (var i = 0; i < ext.length; i++) {
reExt = new RegExp("\\{" + i + "\\}");
host = host.replace(reExt, ext[i]);
}
return "www." + host;
};

[原创]自动获取当前URL所属主域的JS方法(适合多级域名)的更多相关文章

  1. jquery自动获取项目url路径

    //很多时候我们需要使用当前项目路径,但是如果把项目路径写死,会带来很多不便,此时就需要自动获取项目路径.//我们可以根据jquery来进行自动获取项目路径,获取方法如下function getRoo ...

  2. java 获取某个URL的文件扩展名的方法(非精确,精确的扩展名应该使用服务器返回的MIME-TYPE)

    public static String getFileExtension(URL extUrl) { //URL: "http://photosaaaaa.net/photos-ak-sn ...

  3. MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键

    MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...

  4. 使用Empire自动获取域管理员

    使用Empire自动获取域管理员  译:backlion 前言 自从Empire和BloodHound被应用来,对AD渗透已经可以获取到内网环境95%的信息量.作者发现自己一遍又一遍地在做同样重复的事 ...

  5. 爬虫——response中获取的不带主域名的url的拼接

    scrapy中response提取的没有主域名的url拼接 # 1.导入urllib的parse # 2.调用parse.urljoin()进行拼接,例子中response.url会自动提取出当前页面 ...

  6. linux之DNS主域,从域,缓存服务器的架设

    DNS主域,从域,缓存服务器的架设 DNS域名系统 组织域 顶级域  域名解析过程迭代递归 DNS(Domain Name System ) 在Internet中使用IP地址来确定计算机的地址. 为了 ...

  7. servlet自动获取前端页面提交数据

    servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...

  8. centos网络配置方法(手动设置,自动获取)

    不知道为什么最近一段时间网络特别的慢,还老是断,断的时候,局域网都连不上,当我手动设置一下ip后就可以了,搞得我很无语.下面是2种设置网络连接的方法,在说怎么设置前,一定要做好备份工作,特别是对于新手 ...

  9. delphi 自动获取串口

    delphi 自动获取串口   https://blog.csdn.net/Nevermore_anger/article/details/79012875    版权声明:本文为博主原创文章,未经博 ...

随机推荐

  1. 基于web的网上书城系统开发-----登录注册扩展-------验证码功能

    public class CheckCode extends HttpServlet { private static final long serialVersionUID = 1L; privat ...

  2. angular4.0快速import依赖路径

    快捷键:ALT + ENTER 直接import对应的依赖路径

  3. 《algorithms Unlocked》读书笔记3——计数排序

    <Algorithms Unlocked>是 <算法导论>的合著者之一 Thomas H. Cormen 写的一本算法基础,算是啃CLRS前的开胃菜和辅助教材.如果CLRS的厚 ...

  4. ActiveMQ入门介绍

    1.JMS简介 JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到实际的业务需 ...

  5. 搬个小板凳,我们扯扯Docker的前生

    一.新瓶装旧酒 首先我们需要知道,Docker是一个"箩筐": 1.存储:Device Mapper.BtrFS.AUFS 2.名字空间:UTS.IPC.Mount.PID.Net ...

  6. dm-verity

    一.Device Mapper: dm-verity是内核子系统的Device Mapper中的一个子模块,所以在介绍dm-verity之前先要介绍一下Device  Mapper的基础知识. Dev ...

  7. OGG的孩子-有损音频编码opus

    Opus是一个有损声音编码的格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IETF)进行标准化,目标用希望用单一格式包含声音和语音, 取代Speex和Vorbis,且适用于网络上低延迟的 ...

  8. Progressive Web Applications

    Progressive Web Applications take advantage of new technologies to bring the best of mobile sites an ...

  9. botzone Tetris2

    为了证明窝最近没有颓废 (并且为了多骗点访问量 游戏链接:https://botzone.org/game/Tetris2 大概就是先写个估价,然后剪剪枝搜它4步. #include<iostr ...

  10. bzoj:4105: [Thu Summer Camp 2015]平方运算

    Description   Input 第一行有三个整数N,M,p,分别代表序列的长度.平方操作与询问操作的总次数以及在平方操作中所要模的数.   接下来一行N个数代表一开始的序列{X1,X2,... ...