2012-04-22 8 views
2

私はオブジェクトにクエリを配置する以下の関数を持っています。それは動作しますが、オブジェクトにURLを追加し、本当にregex savyでURLを削除し、varsだけを取り除く方法を理解するのに十分ではありません。URLオブジェクトへのクエリ文字列

function urlToObj(url) 
{ 
     var obj = {}; 
     url.replace(
      new RegExp("([^?=&]+)(=([^&]*))?", "g"), 
      function($0, $1, $2, $3) { obj[$1] = $3; } 
     ); 

     return obj; 
} 

など。

url = http://www.example.com/hello/world.php?var1=1&var2=2 
url = http://www.example.com/hello/world.asp?var1=1&var2=2 
url = http://www.example.com/hello/world?var1=1&var2=2 

obj = urlToObj(url); 

出力

obj { var1="1", var2="2", http://www.example.com/hello/world.php="" } 
obj { var1="1", var2="2", http://www.example.com/hello/world.asp="" } 
obj { var1="1", var2="2", http://www.example.com/hello/world="" } 

私はそれは私が素晴らしいだろう間違ったつもりです。この

obj { var1="1", var2="2" } 

どれ例や情報のように見えるように、URLを削除するためにそれをしたいと思います。

おかげ

+0

可能重複http://stackoverflow.com/questions/2843813/extract-get-parameters-from-a-user-inputed -url-with-javascript) –

答えて

0

この拡張は、迅速かつ読みやすいクエリ文字列の変更および作成のためのシングルトンクエリ文字列オブジェクトを作成します。このプラグインは、ページのクエリ文字列を取得し、これを修正したコードを小さなコードで作成する簡単な方法を提供します。

http://archive.plugins.jquery.com/project/query-object

+0

私はプラグインにURLをロードする方法を理解するのに少し問題があります。 $ .query.set( "section"、5).set( "action"、 "do")を使用することができます。私は大規模なクエリを持って、URLをロードし、各varを追加しない方法がなければなりません。何が私は逃した。 – Des

0

どういくつかのハッキングはどうですか? :-)

function urlToObj (url) { 
    var obj = {}; 
    url.replace(
     new RegExp("([^?=&]+)(=([^&]*))?", "g"), 
     function($0, $1, $2, $3) { obj[$1] = $3; } 
    ); 

    // Now, you know you've got an empty string for your url 
    // So let's loop through the object and remove this property 
    for (var prop in obj) { 

     // You only want the objects properties, nothing inherited 
     if (obj.hasOwnProperty(prop)) { 

      // If it's an empty string 
      if (obj[ prop ] === '') { 

       // Delete it! 
       delete obj[ prop ] 
      } 
     } 
    } 
    return obj; 
} 
[JavaScriptを使用してユーザinputed URLから抽出GETパラメータ(の
+0

ハックありがとう;)しかし、クエリで配列のプラグインを使用する必要があります。あなたは私に無意味に見えるobjに各varを加えなければならないようだが、それを理解することはできない。 – Des

関連する問題