而不是子域。
我试过了。
var a = window.location.hostname.match(/(www.)?([^\.]*)\./)[2];
但这会抓住
frozen-dusk-2587
这
https://frozen-dusk-2587.herokuapp.com/
我只想要
herokuapp
如果有多个子域并且只抓住最后一个,我希望它能够工作......例如
x.x.x.y.com
总是抓住
y
答案 0 :(得分:3)
var a = window.location.hostname.match(/(?:\.|^)([^\.]+)\.(?:[^\.]+)$/)[1];
这仅匹配主机名的最后两部分,并且仅捕获倒数第二部分。
(?:\.|^) -- (?: ... ) is a non-capture group (eg. not kept in your match)
-- \.|^ matches a dot or the start of the string
([^\.]+) -- capture all characters that are not a dot
\. -- matches a dot
(?:[^\.]+) -- non-capture - "all characters that are not dots"
$ -- match end of string
如果没有正则表达式,您可以执行以下操作(根据@Pointy建议的@cade-galt的评论):
var a = window.location.hostname, b = a.split('.'), c = b[b.length-2];
答案 1 :(得分:0)
您也可以使用单线解决方案:
location.hostname.replace("."+location.hostname.split(".").pop(), "").split(".").pop()