javascript中有效URL的主机名



是否有一种优雅的方法可以将主机名/域转换为有效的http url,如:
example.comhttps://example.com

我目前的做法是:

const domainToURL = (domain: string) => {
if (!domain.startsWith('http')) domain= `https://${domain}`;
return new URL('/', domain).origin;
};

我相信还有更强大的东西。

这就是我所使用的:创建一个伪URL对象,更改.hostname属性,然后读取.href属性。像这样:

function hostnameToURL(hostname) {
// the inital value of the URL object can be anything
const url = new URL("https://example.com");
url.hostname = hostname;
return url.href;
}
console.log(hostnameToURL("google.com"));
console.log(hostnameToURL("a.fun.website.com"));
console.log(hostnameToURL("example.com"));

如果你需要接受更多的参数(比如指定HTTP或HTTPS(,你可以很容易地调整函数。我发现这种方法更好,因为你把所有的工作都交给了浏览器。

相关内容

  • 没有找到相关文章

最新更新