如何在 JavaScript 中解析 URL?

javascriptobject oriented programmingfront end technology

解析 URL

使用 DOM 方法而不是 正则表达式 解析 javascript 中的 URL 非常简单。如果使用正则表达式,则代码将复杂得多。在 DOM 方法中,只需一个函数调用即可返回 解析的 URL

在下面的示例中,首先创建一个函数,然后使用 DOM 方法在其中创建一个 锚标记"a"。随后,使用 href 将提供的 URL 分配给锚标记。现在,当函数返回 URL 的各个部分时,它会尝试返回解析的部分,如输出中所示。由于url已被解析,因此使用了JSON.stringify()方法来显示输出。

示例

<html>
<body>
<script>
   function URL(url) {
      var urlParser = document.createElement('a');
      urlParser.href = url;
      return {
         protocol: urlParser.protocol,
         host: urlParser.host,
         hostname: urlParser.hostname,
         port: urlParser.port,
         pathname: urlParser.pathname,
         search: urlParser.search,
         hash: urlParser.hash
      };
   }
   document.write(JSON.stringify(URL("https://www.youtube.com/watch?v=tNJJSrfKYwQ")));
</script>
</body>
</html>

Output
{"protocol":"https:","host":"www.youtube.com","hostname":"www.youtube.com","port":"","pathname":"/watch","search":"?v=tNJJSrfKYwQ","hash":""}


相关文章