Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery替换查询字符串值?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery替换查询字符串值?

Javascript 如何使用jQuery替换查询字符串值?,javascript,jquery,Javascript,Jquery,我有一个问题,我的原始URL如下所示: test.com/?manufacturer=0&body-style=0&min-price=270%2C000&max-price=780%2C000 如您所见,由于传递到URL的逗号,查询字符串中的最小价格和最大价格值不正确。它应该是它们各自的整数值,如最小价格=270000和最大价格=780000 我需要使用jQuery转换最小最大值和最大价格的查询字符串值。我现在不知道该怎么做。但我有代码从URL获取它们,然后将它们转换

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

test.com/?manufacturer=0&body-style=0&min-price=270%2C000&max-price=780%2C000
如您所见,由于传递到URL的逗号,查询字符串中的最小价格和最大价格值不正确。它应该是它们各自的整数值,如最小价格=270000和最大价格=780000

我需要使用jQuery转换最小最大值和最大价格的查询字符串值。我现在不知道该怎么做。但我有代码从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将包含逗号->我的新代码将删除查询字符串中的逗号->值,将使用正确的值


干杯。

使用如下替换功能:

  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','');

它能用,谢谢。但是我怎样才能更改发布的URL以反映价格呢?我在你的回答中没有看到任何jQuery代码。。。也许标题问题和标记的格式不正确@CodexMeridian如果这个答案看起来足够好,请编辑您的问题和标题以接受纯js代码。