从URL中获取查询参数,该URL具有一些带有Query参数的URL

时间:2010-08-02 16:51:49

标签: javascript regex url query-string

我有以下网址

http://somesite/somepage.aspx

我传递一个查询参数值,该值包含另一个带有查询参数的URL。

http://somesite/somepage.aspx?pageURL= http://someothersite/someotherpage.aspx?param1=value&source=http://anotheronesite/anotherpage

我需要将pageURL值作为粗体字母中的值。但我得到了

http://someothersite/someotherpage.aspx?param1=value

我没有得到源代码。我正在使用以下JavaScript函数 -

  function getParameterByName( name )
  {
     name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
     var regexS = "[\\?&]"+name+"=([^&#]*)";
     var regex = new RegExp( regexS );
     var results = regex.exec( window.location.href );
     if( results == null )
       return "";
     else
       return decodeURIComponent(results[1].replace(/\+/g, " "));
  }

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您需要使用URL encoding对参数进行编码。否则,&将被视为保留字符,并且属于“基本网址”。

答案 1 :(得分:0)

你认为 html url是否编码了pageURL参数?

这将大大简化您的任务