jquery从url参数中删除空白或空白值
我正在使用jquery从url参数中删除空白或空白值,jquery,regex,parameters,Jquery,Regex,Parameters,我正在使用form.serialize()获取参数列表 如果参数为空或其空格,则我希望将其从列表中删除 例如: testAction.action?a=1&b=&c=3 应该给我 testAction.action?a=1&c=3 首先,我使用正则表达式: params = params.replace(/[^&]+=\.?(?:&|$)/g, ''); 但问题是,如果我的url是 testAction.action?a=1&b=2&
form.serialize()
获取参数列表
如果参数为空或其空格,则我希望将其从列表中删除
例如:
testAction.action?a=1&b=&c=3
应该给我
testAction.action?a=1&c=3
首先,我使用正则表达式:
params = params.replace(/[^&]+=\.?(?:&|$)/g, '');
但问题是,如果我的url是
testAction.action?a=1&b=2&c=
regex会还给我的
testAction.action?a=1&b=2& (i have & at the end!)
之后,我尝试了jQuery解决方案
$('.myForm').find('input, select').not("[value='']").serialize();
但这只适用于空值->如果我在将要传递的值中有空格参数
你能帮我找到其他解决办法吗
谢谢您可以这样做:
params = params.replace(/&?[^&?]+=(?=(?:&|$))/g, '');
试一试
您应该真正在服务器端处理空值,而不是更改表单数据的传递方式。
$(".myForm :input").filter(function () {return $.trim(this.value);}).serialize();