使用正则表达式对URL进行解析
2014-10-31 19:59
369 查看
对URL进行解析,一般用到的参数有:
1、协议 如http,https
2、域名或IP
3、端口号,如7001,8080
4、Web上下文
5、URI,请求资源地址
6、请求参数
一个URL示例:
http://i0.sinaimg.cn:8080/blog/register.jsp?type=a&name=test1234
这里只对前5个参数进行匹配解析:
1、协议 如http,https
2、域名或IP
3、端口号,如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('<br>' + urlObj.protocal); document.writeln('<br>' + urlObj.domainName); document.writeln('<br>' + urlObj.port); document.writeln('<br>' + urlObj.webContext); document.writeln('<br>' + 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();
相关文章推荐
- python使用正则表达式解析http url
- 使用正则表达式解析URL
- 如何使用JavaScript和正则表达式进行数据验证
- vs2005中使用正则表达式进行查找替换
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [导入]使用正则表达式进行xml数据验证
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- 使用正则表达式进行xml数据验证
- 使用javascript和正则表达式进行数据验证
- 使用javascript和正则表达式进行数据验证
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- 如何使用JavaScript和正则表达式进行数据验证
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- 使用正则表达式进行数据校验(java,javascript)
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- 使用正则表达式,进行批量修改字符串中的匹配内容
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- 使用正则表达式进行xml数据验证
- 使用正则表达式进行xml数据验证