输入框禁止输入空格,兼容

名字和密码框的input禁止输入空格,找了几个本版都有问题,最终找到完美的办法,记录一下。

首先用的是这种方法,但是不兼容IE:<input type="text" name="userName" onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;">
然后是这种办法:<input type="text" onkeyup="this.value=this.value.replace(/s+/g,'')">,在输入框最后输入空格是不可以的,但是测试的同学测试时先输入几个字符,然后把光标移到字符中间,输入空格还是可以的,所以这种方法还是不行。
最终找到了下边的这种方法,目前测试同学没测出问题,

<input class="form-control form-control-grey" id="validatorCode" type="text" placeholder=" " name="validatorCode" onkeydown="return banInputSapce(event);" />
//禁止输入框输入空格
function banInputSapce(e) {
    var keynum;
    if(window.event) {// IE
        keynum = e.keyCode
    }  else if(e.which) {// Netscape/Firefox/Opera
        keynum = e.which
    }
    if(keynum == 32){
        return false;
    }
    return true;
}
原文地址:https://www.cnblogs.com/qing619/p/9376024.html