(JQuery を使用して) シリアル化されたリストを作成し、リストからパラメーター/値のペアを削除したいと考えています。これを行う最善の方法は何ですか?私のコードは、パラメーター/値のペアがリストの最初、最後、または中間にある可能性があるというエッジ条件を処理するのがちょっとぎこちないようです。
function serializeDeleteItem(strSerialize, strParamName)
{
// Delete Parameter/Value pair from Serialized list
var strRegEx;
var rExp;
strRegEx = "((^[?&]?" + strParamName + "\=[^\&]*[&]?))|([&]" + strParamName + "\=[^\&]*)|(" + strParamName + "\=[^\&]*[&])";
rExp = new RegExp(strRegEx, "i");
strSerialize = strSerialize.replace(rExp, "");
return strSerialize;
}
例 / http://jsfiddle.net/7Awzw/のテスト リグ
EDIT : 先頭の「?」を保持するようにテスト リグを変更しました。または "&" を使用して、URL クエリ文字列またはシリアル化された文字列のフラグメントで関数を使用できるようにする