对Jsp提交input标签空格和回车的处理

时间:2021-06-14 21:21:32

今天做增加的时候发现一个问题,在js中去掉空格的时候如果这么写

var stage_name = document.getElementById("stage_name").value;
stage_name = stage_name.replace(" ", "").replace(" ", "");
alert(stage_name);

只能去掉一个空格,具体实验如下图片:

对Jsp提交input标签空格和回车的处理

输入文本:

对Jsp提交input标签空格和回车的处理

对Jsp提交input标签空格和回车的处理

对Jsp提交input标签空格和回车的处理

对Jsp提交input标签空格和回车的处理

只是去掉了中间的一个空格!!!

也就是说,如果用户输入了"   "三个空格,这样依旧是会提交到后台的,

找了很多方法,最后感觉比较合理的是需要前后台同时去掉空格,js是这样

var stage_name = document.getElementById("stage_name").value;
stage_name = stage_name.replace(" ", "").replace(" ", "");
alert(stage_name);
alert(stage_name == "");
var stage_name2 = document.getElementById("stage_name").value;
stage_name2 = stage_name2.replace(/^\s\s*/, '' ).replace(/\s\s*$/, '' );
alert(stage_name2);
alert(stage_name2 == "");

第一个与""的比较输出的是flase,第二个输出的是true

到java后台之后,再做去掉中间空格的处理

stage_name.replace(" ", "").replace(" ", "");

这样就去掉所有空格了