1

我有一个问题,我的原始 URL 如下所示:

test.com/?manufacturer=0&body-style=0&min-price=270%2C000&max-price=780%2C000

如您所见,由于传递给 URL 的逗号,查询字符串中的 min-price 和 max-price 值不正确。它应该是它们各自的整数值,例如 min-price=270000 和 max-price=780000。

我需要使用 jQuery 转换 min-max 和 max-price 的查询字符串值。我目前实际上不知道如何做到这一点。但是我有代码可以从 URL 中获取它们,然后将它们转换为正确的值。我只是不知道如何使用 jQuery 将它们实现回 URL(作为新 URL)。这些是我现有的代码:

    //Function to get value of parameter in query string
    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
           results = regex.exec(location.search);
        return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

    //Function to remove commas and convert to number
    function convert_to_pure_number(x) {

    //Remove commas
    var x_withoutcommas=x.replace(/,/g,'');

    //Convert to plain number
    var y =parseInt( x_withoutcommas ,10);

            return y;
    }

    var min_price_original=getParameterByName('min-price');        
    var max_price_original=getParameterByName('max-price');        
    var min_price_converted=convert_to_pure_number(min_price_original);       
    var max_price_converted=convert_to_pure_number(max_price_original);

有什么建议我将如何使用附加代码继续上述代码以将它们放回发布的 URL?谢谢你的帮助。

更新 这是过程:表单将被发布到服务器--> URL 将包含逗号--> 我的新代码将删除逗号--> 在查询字符串值中,将使用正确的值。

干杯。

4

1 回答 1

0

使用这样的替换功能:

  function getParameterByName(name) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
               results = regex.exec(location.search);
            return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }

     var min_price_original=getParameterByName('min-price').replace('%2C','');
     var max_price_original=getParameterByName('max-price').replace('%2C','');
于 2013-06-27T09:07:38.477 回答