Javascript URI 解析介绍

 更新时间:2015年03月15日 09:50:41   投稿:junjie  
这篇文章主要介绍了Javascript URI 解析介绍,本文直接给出代码示例,需要的朋友可以参考下

解析URI是一个有意思的东西,之前没有意识到,原来这东西也可以这么复杂。

URI

在维基百科中对于URI的解释是这样子的:

复制代码 代码如下:

 在计算机术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。

引自网络上对于URI组成的解释,而这些可以在稍后对于URI的解析中看出来。

URI一般由三部分组成:

1.访问资源的命名机制。
2.存放资源的主机名。
3.资源自身的名称,由路径表示。

或者可以说是这样子,两者看上去是一致的。

URL的格式由下列三部分组成:

1.协议(或称为服务方式)
2.存有该资源的主机IP地址(有时也包括端口号)
3.主机资源的具体地址。,如目录和文件名等

URI解析

复制代码 代码如下:

 “解析”一个URI意味着将一个相对URI引用转换为绝对形式,或者通过尝试获取一个可解引URI或一个URI引用所代表的资源来解引用这个URI。文档处理软件的“解析”部分通常同时提供这两种功能。

Javascript URI解析

简单地以博客中的搜索JS为例,下面就是其的URL,

https://www.jb51.net/search/?q=js&type=
然后便有了

复制代码 代码如下:

 var parser = document.createElement('a');
 parser.href = "https://www.jb51.net/search/?q=js&type="

我们便可以知道其的协议、端口号、主机、具体地址等
复制代码 代码如下:

 parser.protocol;
 parser.host;
 parser.pathname;
 parser.search;

返回的结果便是
复制代码 代码如下:

 protocol:http
 host:www.jb51.net
 pathname:/search/
 search:?q=js&type=

上面的结果加出来,便是一个完整的URI。只是对于parser.search这部分不是很理解,对于?号而言,应该是参数,用于搜索的参数。

如果是对就于一个邮件的URI来说,假设URI是

复制代码 代码如下:

 mailto:h@jb51.net?subject=hello
 

那么
复制代码 代码如下:

 var parser = document.createElement('a');
 parser.href = "mailto:h@jb51.net?subject=hello";

 > parser.protocol
 "mailto:"
 > parser.pathname
 "h@jb51.net"
 > parser.search
 "?subject=hello"
 

相关文章

  • 完美实现js焦点轮播效果(一)

    完美实现js焦点轮播效果(一)

    这篇文章主要为大家详细介绍了完美实现js焦点轮播效果的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • es6数组的flat(),flatMap()函数用法实例分析

    es6数组的flat(),flatMap()函数用法实例分析

    这篇文章主要介绍了es6数组的flat(),flatMap()函数用法,结合实例形式分析了es6数组的flat(),flatMap()函数基本功能、使用方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • JavaScript数据类型及相互间的转换规则

    JavaScript数据类型及相互间的转换规则

    这篇文章主要介绍了JavaScript数据类型及相互间的转换规则,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • JS制作可以选项卡切换的年历

    JS制作可以选项卡切换的年历

    这篇文章主要为大家分享了JS制作类似于选项卡切换的年历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 浅谈JS装饰器以及装饰器在TS中的使用方式

    浅谈JS装饰器以及装饰器在TS中的使用方式

    这篇文章主要带大家探讨一下JS装饰器以及装饰器在TS中的使用方式,文中有详细的代码示例,对装饰器不太了解的同学可以参考阅读本文学习了一下
    2023-07-07
  • 在 JavaScript 中用下划线替换空格的方法

    在 JavaScript 中用下划线替换空格的方法

    这篇文章主要介绍了在 JavaScript 中用下划线替换空格的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • JS实现获取时间已经时间与时间戳转换

    JS实现获取时间已经时间与时间戳转换

    这篇文章主要为大家提供了用JavaScript编写的获取时间的类,以及时间戳转时间的三种格式,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-03-03
  • 如何丰富alt属性的显示效果

    如何丰富alt属性的显示效果

    如何丰富alt属性的显示效果...
    2007-01-01
  • JavaScript NodeTree导航栏(菜单项JSON类型/自制)

    JavaScript NodeTree导航栏(菜单项JSON类型/自制)

    利用闲暇时间自己做了个JavaScript NodeTree,网上有很多类似的效果,本例主要是练练手,巩固下知识,感兴趣的朋友可以了解下,或许对你学习NodeTree导航栏有所帮助,认为好的就分享喽
    2013-02-02
  • Uniapp中使用Echarts的详细过程

    Uniapp中使用Echarts的详细过程

    这篇文章主要介绍了Uniapp中使用Echarts的示例详解这里只举例折线图,介绍了uni-app微信小程序使用echarts的方法,下载echart组件,可以先随便建个文件夹,然后 npm init,接着下载依赖,需要的朋友可以参考下
    2022-11-11

最新评论