0、URL格式

protocol :// hostname[:port] / path / [;parameters][?query]#fragment

[;parameters]没见过 这里就不做相关匹配了

1、代码及运行结果

'use strict';
{// URL地址匹配格式: protocol :// hostname[:port] / path / [;parameters][?query]#fragment// [;parameters]:这都没见过这东西,就不匹配了。let url = ['https://www.baidu.com/','http://192.168.1.1','http://192.168.1.1:8080','https://news.163.com/18/1224/15/E3Q6EJDA0001875N.html#top','https://baidu.com:80/?wd=wq&url=ksks#ddsx2','http://192.168.1.1/p/#name','https://neets.cc/subcriberlist?recommendInventoryId=QNZfMjCRQtS4z8MQrFa7qo'], result = null, matcht = /^(https?:\/\/)([0-9a-z.]+)(:[0-9]+)?([/0-9a-z.]+)?(\?[0-9a-z&=]+)?(#[0-9-a-z]+)?/i, info = ['完整URL', '协议', '地址', '端口', '路径', '查询', '锚点']url.forEach((value) => {result = matcht.exec(value);console.log('---------------------------------------------------------------------------------');for (let i = 0; i < result.length; i++) {console.log(`${info[i]} = ${result[i]}`);}})
}

2、元字符解释

元字符                               匹配对象                                                                         
.      任意一个字符
[...] 字符组 字符组内的任意一个字符
[^...] 排除字符组 排除字符组内的所有字符
\char 转义符 转义元字符 或 反引用
提供计数功能的元字符
+ 加号 至少一次
? 问号 匹配一次,但非必须的
* 星号 0次或多次,但非必须的
其它元字符
(...) 括号     限定或界定符,也用于反引用

3、协议匹配规则

常见URL协议有http、https等等,所以这里就做针对http和https的匹配。
匹配规则 :^(https?:\/\/)

4、主机名匹配规则

主机名格式为:xxx.xxx.xxx 或 xxx.xxx 2种形式 由字母或数字组成。
如:www.baidu.com  baidu.com  127.0.0.1
匹配规则为:([0-9a-zA-z.]+)

5、端口匹配

端口部分是由冒号开头后接数值两部分组成而且web默认端口80是不显示在后面的,所以就有2种情况存在或不存在。
如:127.0.0.1:8080  127.0.0.0
匹配规则为:(:[0-9]+)?

6、路径匹配

路径是由字母、数字、斜杠、点组成。在访问网站首页时后面没有路径地址,所以这块如果存在就匹配。
如:/xxx/xxxx/xxx.html 、 /xxx/xxx
匹配规则为:([/0-9a-zA-Z.]+)?

7、查询字符串匹配

查询字符串的格式为:?xxx=1&ddd=2 或 ?xx=2。由于这块不是必须项所以在匹配时,如果存在就匹配,不存在就算了。
匹配规则为:(\?[0-9a-zA-Z&=]+)?

8、信息片断匹配

信息片断是由#、字母、数值组成。由于这块不是必须项所以在匹配时,如果存在就匹配,不存在就算了。
匹配规则为:(#[0-9-a-zA-Z]+)?

9:其它

我的百度经验地址:https://jingyan.baidu.com/article/a24b33cdce7a0519fe002bf9.html

代码分享地址:https://pan.baidu.com/s/1bE5DUP4knVa0ifDs0kNILQ

转载于:https://www.cnblogs.com/whnba/p/10178541.html

js正则表达式 URL格式匹配详解相关推荐

  1. js正则表达式 URL格式匹配 http替换成https

    匹配替换http为https: function urlConversion(path) {let reg = /^(https?:\/\/)([0-9a-z.]+)(:[0-9]+)?([/0-9a ...

  2. JS正则表达式常见用法实例详解

    这篇文章主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符.分组符.修饰符.量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下 ...

  3. url格式组成部分详解

    URL格式 在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址. ...

  4. JavaScript正则表达式的分组匹配详解

    1,分组 下面的正则表达式可以匹配kidkidkid: const reg = /kidkidkid/ 而另一种更优雅的写法是: const reg = /(kid){3}/ 这里由圆括号包裹的一个小 ...

  5. java正则表达式 匹配次数_正则表达式教程之重复匹配详解

    本文实例讲述了正则表达式教程之重复匹配.分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的[和]之间,有的例子会使用Java来实现,如果是java本身正则表达式的用法 ...

  6. oracle中取反_oracle正则表达式regexp_like的用法详解

    oracle正则表达式regexp_like的用法详解 更新时间:2013年06月13日 17:42:05   作者: 本篇文章是对oracle正则表达式regexp_like的用法进行了详细的分析介 ...

  7. iOS URL Schemes 使用详解 什么是 URL Schemes

    URL Schemes 使用详解 用原生 iOS 的人分两种,懂 URL Schemes 的和不懂的. 前者是「魔法师」,后者是「麻瓜」. URL Schemes 应用在 iOS 上已经很久了.对于使 ...

  8. js中indexOf的用法详解

    js中indexOf的用法详解 String.IndexOf 方法 (Char, [startIndex], [count]) 报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检 ...

  9. 正则表达式零宽断言详解

    在使用正则表达式时,有时我们需要捕获的内容前后必须是特定内容,但又不捕获这些特定内容的时候,零宽断言就起到作用了. 一.基本概念: 零宽断言正如它的名字一样,是一种零宽度的匹配,它匹配到的内容不会保存 ...

最新文章

  1. CSS transition delay简介与进阶应用
  2. 04.设计模式-原型模式
  3. jQuery 遍历 - closest() 方法
  4. 《Java 核心技术卷1 第10版》学习笔记------对象克隆【对象拷贝】
  5. String.prototype.substr()
  6. 矩阵键盘程序_独立按键与矩阵按键
  7. 在Raspberry Pi上设置Docker的简单方法
  8. js设置时间在ie中部兼容总是NAN的问题
  9. 支付宝新漏洞引发恐慌,那如何关闭小额免密支付呢
  10. 汇编语言中 编译 连接 构建时的一些错误以及错误的修正方法(不断积累中...)
  11. FastDFS原理系列文章
  12. 第21集丨问君何能尔?心远地自偏
  13. unity3d 不规则外发光描边_PS发光字体教程
  14. 《认知与设计——理解UI设计准则》笔记(1) 我们感知自己的期望
  15. ubuntu中smbd服务搭建,ifcongfig命令没有IP地址
  16. 电脑一些很经典的技巧
  17. CodeForces - 1413C Perform Easily(双指针)
  18. nor flash原理详细讲解
  19. 2023年武汉大学艺术专硕考研上岸前辈初复试备考经验指导
  20. 第一篇:如何在Win10安装iis

热门文章

  1. jenkins下载插件失败
  2. 【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享
  3. 网络安全工程师的学习路线,超级简单,收藏这一篇就够了
  4. ae计算机没有该字体,【干货】自己动手,完美解决AE CC 2017/CC 2018/CC 2019字体问题CT generic: not ascii...
  5. 软链接解决存储空间不足
  6. 使用华为手机怎么从网上打印资料?
  7. 【21世纪电脑入门】总目录——系统配置、包/库安装、问题修复
  8. E. 新旧身份证(继承)
  9. 黑吃黑第一季/全集Banshee迅雷下载
  10. 户外佩戴哪款耳机好、户外运动耳机推荐