2017-11-07 5 views
-1

URLクエリ文字列を解析して特定のパラメータを削除したいと思います。 URLを解析して特定のパラメータを削除する方法

はURLは言う:www.test.com?id=123 &場所-テキサス&色=青&イベント=新しい

とクエリ文字列:?ID = 123 &場所-テキサス&色=青&イベント=新しい

私は常にパラメータid = {}とcolor = {}を削除したいと思います。

URLには、idまたはcolorパラメータのいずれかが含まれていても、いなくてもかまいません。

これらのパラメータの値は必ずしも同じではありませんが、常にクエリ文字列からIDと色を取り除きたいと考えています。

私は次のことを試してみました - 私は正しい軌道に乗っていますが、私はフィルタのアレイを再構築し、それをしたいと思い

const test = decodeURIComponent(qs.query).split('?')[1].split('&') 
     .filter(param => param !== id='123' || param !== color='blue'); 

を仕上げ、いくつかの支援が必要と考えている: www.test.com?locationを&イベント=新しい

+0

使用!== "ID = 123"'と 'のparam!== "色=青"'? – Xufox

+0

いいえ私はORしたい。 URLに1つのパラメータしか含まれていない場合はどうなりますか?私は質問を編集しました – user1526912

+0

私はブール演算子を参照していませんでした。私はあなたの文字列の引用符がないことに気付きました。 – Xufox

答えて

0

-texas私はあなたがreplace

query.replace(/(\w+)=\w*/gi, (m, p) => { 
    if (p === 'id' || p === 'color') return '' 
    return m 
}) 

もっと私を使用することができると思いますnformationについてreplace

それとも、あなたは `のparamをもしかしてURLSearchParamshere

+0

私はURLSearchParamsがamnyブラウザと互換性があるとは思わない。ここで正規表現関数は何をしていますか? – user1526912

+0

key = valueのようなパターンを見つけ、空またはそれ自身に置き換えてください。 –

関連する問題