解决方案 »

  1.   

    var s = "a=b&c=d";
    /a=([^&=]+)&c=([^&=]+)/.test(s);
    alert(RegExp.$1);
    alert(RegExp.$2);
      

  2.   

    这个用正则比较麻烦
    var a='a=b&c=d';
    a=a.split('&');
    for(var i in a){alert(a[i].split('=')[1]);}
      

  3.   

    function foo(s) {
      var request = {};
      var pairs = s.split('&');
      for (var i = 0; i < pairs.length; i++) {
        var pair = pairs[i].split('=');
        request[pair[0]] = pair[1];
      }
      return request;
    }
    alert(foo('a=b&c=d').a);
    alert(foo('a=b&c=d').c);
      

  4.   


    //正则方法不如split方法通用性好
    var rP=/(?!&)[\w%]+(?==)/g;//取参数
    var rV=/(?!=)[\w%]+(?=&)/g;  //取对应值
    function getParams(str,pName){
      str+="&";
      var Params=str.match(rP);
      var Values=str.match(rV);
      var o={};
      
      for(var i=0,l=Params.length;i<l;i++){
        o[Params[i]]=Values[i]; 
        
      }
      return o[pName]|| "It's not found!"; 
      //也可以直接返回o这个对象做进一步处理
    }var s1="one1=39i9e%23&two2=39fjei&3th=jefe%2dji";console.log(getParams(s1,"one1"));
      

  5.   

    var str='a=b&c=d';
    var reg=/([^=&]+)=([^=&]+)/g;
    var obj={},m=null;;
    while((m=reg.exec(str))){
      obj[m[1]]=m[2];
    }
    JSON.stringify(obj);