正则系列之正则处理url

主要是自己做个记录,方便查询,闲话不多说了,直接正文啦

1.使用的正则

var reg = /([^?=&]+)=([^?=&]+)/g,

2.处理的类似字符串

var url = "http://www.xxx.com?type=book&id=11";

3.使用

var obj = {};

var result;

while(result = reg.exec(url)){

     obj[result[1]] = result[2];

}

console.log(obj); // 打印输出查看即可

4.代码整合

var reg = /([^?=&]+)=([^?=&]+)/g,

url = "http://www.xxx.com?type=book&id=11",

obj = {},

result;

while(result = reg.exec(url)){

    obj[result[1]] = result[2];

}

或者

url.replace(reg, function(){

      var args = arguments;

       obj[args[1]] = args[2];

})

console.log(obj);

如果不适用正则的话,可以使用字符串分割,也能达到相应的效果

var n = str.indexOf('?');

var str1 = str.substr(n+1); // 截取到?后面的字符串  type=book&id=11

var arr = str1.split('=');      // 调用split()方法,以 ‘&’作为分隔符 ,得到 ['type=book','id=11']

然后遍历数组,再次以 '='进行分割即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 5,367评论 0 7
  • 文/曲尚菇凉 1. 小佳昨晚问我:尚尚,你说我谈恋爱之后跟谈恋爱之前是不是区别很大? 我说,嗯,是挺大的。 为什么...
    曲尚阅读 1,308评论 27 13
  • “茶无上品,适口为好”,便是业界颇多争议的八个字。 何谓“茶无上品”?字面上有含混其词的味道:是想说茶本无好坏之分...
    茶小二空一斋阅读 720评论 1 2