我在使用正则表达式从 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/