js解析url查询参数

来源:互联网 发布:天龙八部游戏 知乎 编辑:程序博客网 时间:2024/05/20 17:09
  • split方法
var path = 'www.u.com/home?id=2&type=0&dtype=-1';function parseUrl(url){    var result = [];    var query = url.split("?")[1];    var queryArr = query.split("&");    queryArr.forEach(function(item){        var obj = {};        var value = item.split("=")[1];        var key = item.split("=")[0];        obj[key] = value;        result.push(obj);    });    return result;}console.log(parseUrl(path)); //[{id: '2'},{type: '0'},{dtype: '-1'}]
  • 正则
var regex = /[^&=?]+=[^&]*/g;var res = url.match(regex);

//example:

res =  "www.u.com/home?id=2&type=0&dtype=-1".match(refex);//["id=2", "type=0", "dtype=-1"]

也可以写一个方法用来取得具体的一个参数值:

var getParamValue = function(url,key){    var regex = new RegExp(key+"=([^&]*)","i");    return url.match(regex)[1];}
getParamValue( "www.u.com/home?id=2&type=0&dtype=-1","id")//2getParamValue( "www.u.com/home?id=2&type=0&dtype=-1","dtype");//-1getParamValue( "www.u.com/home?id=2&type=0&dtype=-1","type")//0
原创粉丝点击