如何一次性的去掉所有input上传到后台的字段的所有空格?

String.replaceAll(" ","");
或者trim()
都是一个一个字段的加,写起来太麻烦了

阅读 7.1k
11 个回答
JSON.stringify(data).replace(/\s*/g, '')

正则表达式?不知这样能否实现你需要的功能,给出例子:

var str="asdm asd  df a as  ddfg";
var result = str.replace(/\s/g,"");
console.log(result);//asdmasddfaasddfg

如果你用lodash.js的话可以这么写:

var data = {a:'111   ',b:11,c:null}
_.each(data,function(v,k){data[k]=_.isString(v)?v.trim():v})
// {a: "111", b: 11, c: null}

如果是ajax提交,先获取到form的全部data的话。
可以先JSON.stringify,正则匹配替换后再JSON.parse

最笨的方法就是,利用循环遍历去除空格

新手上路,请多包涵

在后台包装下HttpServletRequest对象,重写几个获取参数的方法,注册到过滤器上,这样能随意处理参数,如sql攻击,特殊字符过滤等等。

新手上路,请多包涵

你可以包装获取value的方法,比如你用jquery的话是.val()获取,可以重写它这样就可以一次性处理

你可以这样:

<input type="text" onkeyup="this.value=this.value.replace(/\s/g,'')" onafterpaste="this.value=this.value.replace(/\s/g,'')">

从前端的角度去看 在录入信息之后上传之前 用JS把空格干掉再提交
从后端的角度去做 用过滤器拦截请假 增强getParameter()方法 使其获得的参数进过trim()和replace()
这样可以做到不用反复写同一方法

value.replace(/ /g,"")
解释: / /g正则表达式 g 代表 global 全部替换

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

让我笑会儿。。这评论都是啥。。。明显楼主发的是Java。。

web.xml里面加一个filter。从request里面获取所有字段去除空格

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题