【问题标题】:Split URL string to get each parameter value in javascript [duplicate]拆分URL字符串以获取javascript中的每个参数值[重复]
【发布时间】:2014-06-22 06:27:26
【问题描述】:
var url = "journey?reference=123line=A&destination=China&operator=Belbo&departure=1043&vehicle=ARC"

如何拆分上面的字符串,以便得到每个参数的值??

【问题讨论】:

  • @Diodeus 我想要一个解决方案,将它们全部保存到一个数组中,并且我可以在很多 URL 上重复使用
  • 这是一个次要问题,一旦您解析了数据并创建了对象。

标签: javascript


【解决方案1】:

您可以使用 split 函数来提取参数对。首先修剪之前和包括? 的东西,然后拆分&,然后在那个循环之后拆分=

var url = "journey?reference=123line=A&destination=China&operator=Belbo&departure=1043&vehicle=ARC";

var queryparams = url.split('?')[1];

var params = queryparams.split('&');

var pair = null,
    data = [];

params.forEach(function(d) {
    pair = d.split('=');
    data.push({key: pair[0], value: pair[1]});

});

jsfiddle

【讨论】:

    【解决方案2】:

    试试这个:

    var myurl = "journey?reference=123&line=A&destination=China&operator=Belbo&departure=1043&vehicle=ARC";
    var keyval = myurl.split('?')[1].split('&');
    for(var x=0,y=keyval.length; x<y; x+=1)
    console.log(keyval[x], keyval[x].split('=')[0], keyval[x].split('=')[1]);
    

    【讨论】:

      【解决方案3】:

      在 JS 中分割线你应该使用:

      var location = location.href.split('&');
      

      【讨论】:

      • 而不是 location.href,使用 location.search 会更容易,它只会返回问号及其后面的所有内容。然后只需使用子字符串切掉第一个字符。
      • @tomysshadow 是的!它甚至更好!谢谢!
      猜你喜欢
      • 2014-02-05
      • 2021-08-06
      • 2023-01-16
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多