javascript 匹配域名之间的正则

阅读 5.9k
6 个回答
/(\w*\.(?: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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题