Javascript 如何使用jQuery替换查询字符串值?
我有一个问题,我的原始URL如下所示: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获取它们,然后将它们转换
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代码。