2012-01-28 7 views
4

私はserialize()を使用してフォームの値を取得しました。値はシリアル化された文字列を分割するために使用されますが、値は '@'が '%40'問題は解決したように見えましたが、私はスペースを '+'記号に置き換えています。 string.replace()を使用することができますが、文字列の正当な '+'記号を置き換えます。それを達成する方法?フォームの値のシリアル化を解除する

答えて

3

文字列に正当な+がある場合は、すでに%2Bとエンコードされています。文字列内のスペースを表す+をすべて置き換えてから、decodeURIComponent()を呼び出して文字列をデコードしてください。

使用このコード

var str = "%4Bseri%2Balized+String+plus" 
str = str.replace(/\+/g, " "); 
str = decodeURIComponent(str); 
alert(str); 

Demo

関連する問題