博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用正則表達式对URL进行解析
阅读量:5944 次
发布时间:2019-06-19

本文共 2155 字,大约阅读时间需要 7 分钟。

对URL进行解析,一般用到的參数有:

1、协议 如http,https

2、域名或IP

3、port号,如7001,8080

4、Web上下文

5、URI。请求资源地址

6、请求參数

一个URL演示样例:

http://i0.sinaimg.cn:8080/blog/register.jsp?

type=a&name=test1234

这里仅仅对前5个參数进行匹配解析:

//使用字符索引对URL进行解析	function parseURL(url){		//解析协议		var protocal = url.substring(0, url.indexOf(':'));		//alert('protocal:' + protocal);				//解析域名和端口		var tmp = url.substr(url.indexOf('//') + 2);				var domain = tmp.substr(0, tmp.indexOf("/"));		//alert('domain:' + domain);				var domainName,port;		var idx = domain.indexOf(":");				if(idx>0){			domainName = domain.substr(0,idx);			port = domain.substr(idx + 1);		} else{			domainName = domain;		}			//alert('domainName:' + domainName + ',' + port);				//解析web context		var tmp2 = tmp.substr(tmp.indexOf("/") + 1);			var webContext = tmp2.substr(0,tmp2.indexOf('/'));		//alert('webContext:' +webContext);				//解析URI		var uri = tmp2.substr(tmp2.indexOf('/'));		//alert('uri:' + uri);				return {			protocal: protocal,			domainName:domainName,			port: port,			webContext: webContext,			uri: uri		}	}		function testParseUrl(){		var url = "http://ppp.com:8090/mximprove/mxt/scripts/views/MainViewController.js";		var urlObj = parseURL(url);		document.writeln('
' + urlObj.protocal); document.writeln('
' + urlObj.domainName); document.writeln('
' + urlObj.port); document.writeln('
' + urlObj.webContext); document.writeln('
' + urlObj.uri); } //testParseUrl(); //---------------------------------------------------------------------------------------------------------------- //使用正則表達式对URL进行解析 function parseUrl(url){ var reg = /^(\w+):\/\/([^\/:]*)(?

::(\d+))?\/(.*)/ reg.exec(url); alert(RegExp.$1 + ',' + RegExp.$2 + ',' + RegExp.$3 + ',' + RegExp.$4+ ',' + RegExp.$5); } function parseUrl2(url){ var reg = /^(\w+):\/\/([^\/:]*)(?

::(\d+))?\/([^\/]*)(\/.*)/ reg.exec(url); alert(RegExp.$1 + ',' + RegExp.$2 + ',' + RegExp.$3 + ',' + RegExp.$4+ ',' + RegExp.$5); } function testParseUrl(){ var url = "http://ppp.com:8090/mximprove/mxt/scripts/views/MainViewController.js"; parseUrl2(url); var url2 = "http://ppp.com/mximprove/mxt/scripts/views/MainViewController.js"; parseUrl2(url2); } //testParseUrl();

转载地址:http://ocwxx.baihongyu.com/

你可能感兴趣的文章
Mycat源码中的单例模式
查看>>
WPF Dispatcher介绍
查看>>
fiddler展示serverIP方法
查看>>
C语言中的随意跳转
查看>>
WPF中如何将ListViewItem双击事件绑定到Command
查看>>
《聚散两依依》
查看>>
小tips:你不知道的 npm init
查看>>
Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
查看>>
Jmeter也能IP欺骗!
查看>>
Rust 阴阳谜题,及纯基于代码的分析与化简
查看>>
ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范
查看>>
(原創) array可以使用reference方式傳進function嗎? (C/C++)
查看>>
170多个Ionic Framework学习资源(转载)
查看>>
Azure:不能把同一个certificate同时用于Azure Management和RDP
查看>>
Directx11教程(15) D3D11管线(4)
查看>>
Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
查看>>
ios ble 参考
查看>>
linux中注册系统服务—service命令的原理通俗
查看>>
基于托管C++的增删改查及异步回调小程序
查看>>
Oracle DBMS_STATS 包 和 Analyze 命令的区别
查看>>