`
seavers
  • 浏览: 173356 次
  • 来自: ...
社区版块
存档分类
最新评论

parseURL

阅读更多
我们知道, 在location对象中, 可以直接获取 hostname, search , hash 等参数
而链接的url中, 我们没有现成的API可以获取这些参数
下面是一个小方法, 可以得到链接中的各种参数


function parseURL(url) {
	var ret = {};
	ret.href = url;

	var match = url.match(/^([^\/:]+:)?(?:\/\/([^\/:]*)(?::([\d]+))?)?(\/?[^\?#]*)?(\?[^\#]*)?(#.*)?$/i);
	if (match) {
		ret.isValid = true;
		ret.protocol = match[1] || '';
		ret.hostname = match[2] || '';
		ret.port = match[3] || '';
		ret.host = ret.hostname + ret.port ? ':' : '' + ret.port;
		ret.pathname = match[4] || "/";
		ret.origin = ret.protocol + ret.host ? '//' : '' + ret.host;
		ret.search = match[5] || '';
		ret.hash = match[6] || '';
	} else {
		ret.isValid = false;
		ret.path = ret.url;
	}
	return ret;
}






分享到:
评论

相关推荐

    网址转换器(ParseURL)

    【标题】"网址转换器(ParseURL)"是一种工具,它的主要功能是解析并转换网址,以获取实际的下载链接。在互联网上,很多资源的下载地址并非直接指向文件本身,而是通过一些中间页面或者动态脚本处理后才能获取到真实的...

    javascript parseUrl函数(来自国外的获取网址url参数).docx

    ### JavaScript parseUrl函数详解 #### 一、函数概述 `parseUrl` 函数是一个用于解析 URL 的实用工具函数。它可以将一个完整的 URL 分解为多个组成部分,并返回一个包含这些部分的对象。这种分解对于处理和操作 ...

    javascript parseUrl函数(来自国外的获取网址url参数)

    JavaScript中的parseURL函数是一个非常实用的工具,它能够解析一个URL,并将其中的各个组成部分(如协议、主机名、端口、路径、查询字符串等)提取出来,方便开发者使用。这个函数通常不是JavaScript内置的一部分,...

    Thinkphp-5-0远程代码执行漏洞1

    如果URL被恶意构造,那么在`parseUrl()`方法中可能会发生不安全的解析行为,导致恶意代码被执行。 ##### 4. 漏洞修复建议 为了防止此类漏洞的发生,建议采取以下措施: - **输入验证**:加强对用户输入数据的验证...

    HttpUtils 发送http请求工具类(实例讲解)

    ... ... ...该工具类提供了多种方法来发送 GET、POST、PUT、DELETE 等请求,并且支持设置超时时间、代理服务器、证书验证等功能。...1. `init()` 方法:该方法用于初始化连接池,设置最大连接数和每路由最大连接数。...

    koa源码-request模块

    例如,`ctx.request.url` 的获取是通过解析原生 Node.js 中的 `req.url` 实现的,这通常涉及到 `parseurl` 这个库的使用。`parseurl` 是一个高效的 URL 解析库,它可以快速地将请求的 URL 转换为结构化的对象,便于...

    纯python朴素贝叶斯分类器

    parseurl bs4 numpy 2. 使用模型 朴素贝叶斯分类器 实现:纯python实现 3. 数据来源 新闻共分7类,新闻信息在此采集: 1 财经 http://finance.qq.com/l/201108/scroll_17.htm 2 科技 ...

    Go-gofeed-在Go中解析RSS和AtomFeeds

    接下来,你可以创建一个`gofeed.Parser`实例,然后使用`ParseURL`或`ParseString`方法解析feed的URL或XML内容: ```go fp := gofeed.NewParser() feed, err := fp.ParseURL("http://example.com/rss") if err != ...

    Http.rar_http download

    `ParseURL.h`同样会包含URL解析器的类或函数原型,用于声明解析URL所需的接口。 最后,`memlist.h`可能定义了一个内存列表或缓冲区管理的数据结构。在HTTP下载过程中,可能会使用这样的数据结构来存储接收到的数据...

    PostgreSQL的Go语言驱动pq.zip

    pq.ParseURL for converting urls to connection strings for sql.Open. Many libpq compatible environment variables Unix socket support Notifications: LISTEN/NOTIFY 示例代码: package main import...

    Linux上执行带main方法的java文件

    这里以`jar`命令为例,假设你需要将`com.util.ParseURL`这个类作为主入口类,可以执行如下命令来创建JAR文件: ```bash jar cvmf manifest.mf -C build/classes . TestDemo.jar ``` 这里`cvmf`分别代表`c`创建新...

    Java在网络编程示例

    本示例将深入探讨Java在网络编程中的应用,通过提供的四个源代码文件:SimpleServer.java、SimpleClient.java、ParseURL.java和URLConnectionReader.java,我们可以学习到几个关键的知识点。 1. **Socket编程**: ...

    使用 dom4j 解析 XML

    或者 Document modifiedDocument = DocumentHelper.parseURL(new URL(xmlFileUrl));找到要修改的元素,例如,将 article 的 level 属性从 "Intermediate" 更改为 "Introductory",日期从 "December-2001" 改为 ...

    javascript将url解析为json格式的两种方法.docx

    function parseUrl(url) { var a = document.createElement('a'); a.href = url; return { protocol: a.protocol.replace(':', ''), hostname: a.hostname, port: a.port, path: a.pathname, query: (() =>...

    java UrlUtil tools

    `java.net.URL`类提供了`parseURL()`方法,可以将字符串解析为URL对象,分解出各个组成部分。例如: ```java URL parsedUrl = URL.parseURL("http://user:pass@example.com:8080/path?query#fragment"); System....

    UrlUtil.zip_UrlUtil_java URLUtil

    此类的实现通常会依赖于Java的内置`java.net.URL`类,这个类提供了许多方法来操作URL,如`toExternalForm()`、`parseURL()`、`openConnection()`等。 在实际开发中,自定义`UrlUtil`类可以帮助代码规范化,提高...

    js解析url并判断火狐IE浏览器

    function parseUrl(url) { var urlObj = new URL(url); // 获取协议 var protocol = urlObj.protocol; // 获取主机名 var hostname = urlObj.hostname; // 获取端口 var port = urlObj.port; // 获取...

    断点续传和多线程下载_上_行舟1

    这可以通过函数如`ParseURL`来完成。然后,使用HTTP协议创建一个请求句柄,例如`HttpOpenRequest`,指定GET方法以下载文件。在请求句柄中设置`AcceptTypes`为“*/*”,表示接受所有类型的文件。 接着,发送请求并...

    14丨实战二(下):如何利用面向对象设计和编程开发接口鉴权功能?1

    - Url类可能有属性如urlString,方法如assembleUrl()和parseUrl()。 - CredentialStorage类可能含有属性如appIDPasswords,方法如getPasswordByAppID()。 3. 定义类与类之间的交互关系: 类之间通常通过方法调...

Global site tag (gtag.js) - Google Analytics