首页 > javascript 匹配域名之间的正则

javascript 匹配域名之间的正则

有以下这些域名,需要获取加黑加粗的部分

http://nnn.cn/
http://meilishuo.top/
http://m.meilishuo.com/share/item_detail/3924101135?tab=0
http://product.m.dangdang.com/1181352912.html?
https://h5.m.taobao.com/guang/item.html?spm=a310p.7403370.19980966
http://item.jd.com/1903997.html
https://detail.m.tmall.com/item.htm?spm=a222m.7628550.0.0


result = subject.replace(/(\w?\.\w)(?=\/)/mg, "$1");
这样可以取得你所有想要的


我觉得可以把字符串拆成数组 或者/[a-z]+\.(com|cn|top)/


正如一楼所说,普通正则无法解决 www.com.cn/www.com.tech/online/love这种坑爹域名。
不过,很幸运的是,有一个现成的项目

引用:

<script src="https://www.levey.cn/download/tld.js"></script>

js文件下载: https://www.levey.cn/download/tld.js
注意另存以上js文件,请勿直接引用(放在我的服务器,大量引用随时可能删除~)

用法:

<script>
alert(tldjs.getDomain('test.www.com.cn'));
</script>

来源: https://github.com/oncletom/tld.js


/(\w*\.(?:com|cn|top)).*/

https?:\/\/(?:[^/]+\.)?([^./]+\.(?:cn|com|top))(?:$|\/)

https://regex101.com/r/cV8tU2/1


无法用正则获取域名,在有限的情况下可以获取。
比如www.cn,www.com.cn

【热门文章】
【热门文章】