如何解析JavaScript中的URL?

解析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>

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