javascript - 在javascript中获取域名的正则表达式?

标签 javascript regex url

我在使用正则表达式从 url 获取主域名时遇到问题。那就是如果我有下面给出的网址..

http://domain.com/return/java.php?hello.asp
http://www.domain.com/return/java.php?hello.asp
http://blog.domain.net/return/java.php?hello.asp
http://us.blog.domain.co.us/return/java.php?hello.asp
http://domain.co.uk
http://domain.net
http://www.blog.domain.co.ca/return/java.php?hello.asp
http://us.domain.com/return/

从所有这些我应该只得到 domain 作为正则表达式的输出.. 那我该怎么做呢? 我用过;

var url = urls.match(/[^.]*.(com|net|org|info|coop|int|co\.uk|org\.uk|ac\.uk|uk)/g);

但它不适用于

  http://domain.net

有人可以帮我解决这个问题吗。

最佳答案

您可以使用 URL 而不是正则表达式

var url  = new URL("http://domain.com/return/java.php?hello.asp");
console.log(url.hostname);
=> domain.com

如果你也想要协议(protocol)

var url  = new URL("http://domain.com/return/java.php?hello.asp");
console.log(url.protocol+"//"+url.hostname);
= > http://domain.com

关于javascript - 在javascript中获取域名的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27794462/

相关文章:

javascript - 输入字段上的 Angular 条件只读/禁用

regex - Access VBA正则表达式: Input mask validation.检查字符串是否仅由重复模式组成

iphone - 如何从我的 iPhone 应用程序中打开 Twitter 应用程序中的 Twitter 页面?

c++ - 如何使用正则表达式 C++?

c# - 如何在 Global.aspx 的 Application_Start 中获取完整的主机名+端口号?

iphone - 以编程方式检测 iPhone 上是否安装了应用程序

javascript - 从外部txt文件加载图像信息并在html文件中显示

javascript - Firestore如何clearPersistence()

javascript - 在滚动条上显示导航栏 : Not Shown on Reload

c# - C# 中需要 REGEX 帮助