正则系列之正则处理url

2017-04-02  本文已影响0人  abigdonkey

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

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']

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

上一篇 下一篇

猜你喜欢

热点阅读