Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
jquery从url参数中删除空白或空白值_Jquery_Regex_Parameters - Fatal编程技术网

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();