从字符串中提取多个参数&做一点事

时间:2014-05-08 16:40:31

标签: javascript

我试图提取多个"参数"从一个字符串和每个参数做一些事

e.g。如果它检测到myParam1=xxxmyParam2=yyy

在此代码中,只能检测到一个参数,但我需要多个参数:

function GetParameter(PPParam) {
    var input1 = document.getElementById('input1');
    var XXX = input1.value;

    var ZZZ = XXX.split('&');
    for (var i = 0; i < ZZZ.length; i++) {
        var sParameterName = ZZZ[i].split('=');
        if (sParameterName[0] == PPParam) {

            alert(sParameterName[1]);

            return sParameterName[1];
        }
    }
}

http://jsfiddle.net/Qmu5L/1/

注意:我需要所有参数来控制一个独特的元素,

例如为<div>width=100color=red等设置样式。)


escaped URL parameters statements if else switch

2 个答案:

答案 0 :(得分:1)

在这里 - 我根据Stratus3D的建议更新了您的小提琴http://jsfiddle.net/Qmu5L/3/。它将生成所有参数及其值的散列。

如果你想开始应用样式并搞乱CSS,我建议你看看jQuery - 让它变得更容易。

function getParameters() {
  var searchString = document.getElementById('input1').value,
      params = searchString.split("&"),
      hash = {};

  if (searchString == "") return {};
  for (var i = 0; i < params.length; i++) {
    var val = params[i].split("=");
    hash[unescape(val[0])] = unescape(val[1]);
  }
  console.log(hash);
  return hash;
}

一旦你得到了哈希,你就可以通过JQuery $.each函数运行它来为你的DIV设置样式。

答案 1 :(得分:0)

本答案中定义的函数的修改版本可以使用:

Get escaped URL parameter

您只需要删除unescape调用,并将window.location.search.substring的引用替换为您要处理的字符串参数。