2016-05-28 16 views
2

私は、チェックボックスがオフの場合はHTML文字列からフィルタを削除する機能があり、チェックされている場合は追加します。文字列置換機能を使用して削除したい文字列の前から%20または+記号を削除する際に問題が発生しています。javascript string特殊文字を置換する

このコードは動作します:

var addFilter = change.value; 

if (change.checked == true) { //add filter } 
else { 
    var removeFilter1 = addFilter; 
    var removeFilter2 = addFilter; 

     if(currFilter != '') { 
      var url = currFilter.replace(removeFilter1, ""); 
      var url = url.replace(removeFilter2, ""); 
      window.open(url, "_self"); 
     } 

} 

...基本的に私はかaddFilter + removeFilter1 = "%20" を設定してみました。とremoveFilter2 = "+" + addFilter; URL内の余分な空白文字を取り除くために、私はその変更を行うときに何もしません。私はそれが特別な文字で動作しない置換機能と関係があるが、修正する方法がわからないと確信している。それは余分なスペースが含まれているが、それは私を悩ませているので、実際にはそれほど大きな取引ではありません。

答えて

0

decodeURIを試してスペースを置き換えましたか?

20は基本的にスペースです

1

%に挨拶しますが、文字列からではない20%だけのスペースを削除しようとする必要がありますので、... URLはスペースを持つことができないようスペースを示すために、URLに%20のように示されています。 ..例えば

var url = currFilter.replace(" ", "");