如何使用javascript创建不允许空白的文本框

如何使用javascript创建不允许空白的文本框,javascript,jquery,html,Javascript,Jquery,Html,我是javascript新手,我想创建不允许空白的文本框,我也不想允许粘贴空白。使用jquery我可以做得很简单,但我想用javascript做我的jquery代码如下 $("input#UserName").on({ keydown: function(e) { if (e.which === 32) return false; }, change: function() { this.value = this.value.replace(/\s/g,

我是javascript新手,我想创建不允许空白的文本框,我也不想允许粘贴空白。使用jquery我可以做得很简单,但我想用javascript做我的jquery代码如下

$("input#UserName").on({
  keydown: function(e) {
    if (e.which === 32)
      return false;
  },
  change: function() {
    this.value = this.value.replace(/\s/g, "");
  }
});

我想用javascript做同样的事情,请帮助我……

请使用下面的代码来检测空间

<input type="text" name="test" id="test">

document.getElementById("test").onkeypress = function (evt) {
        var k = evt ? evt.which : window.event.keyCode;
        if (k == 32) {
            return false;
        }
    }

这里是jQuery代码的转录

var input=document.getElementById(“用户名”);
如果(输入){
input.addEventListener('keydown',函数(e){
var key=e.which | e.keyCode;
如果(键===32){
e、 预防默认值();
返回false;
}
});
input.addEventListener('change',function()){
this.value=this.value.replace(/\s/g,“”);
});
}

您可以使用
addEventListener
添加监听器。您还可以使用
onInput
合并这两个事件

var text=document.getElementById('txtText');
text.addEventListener('input',函数(e){
var-keyCode=e.keyCode?e.keyCode:e.which;
this.value=this.value.replace(/\s/g,“”)
if(keyCode==32)返回;
})
试试这个

HTML:

<input type="text" value="" maxlength="30" name="email" id="UserName">
document.getElementById("UserName").onkeypress = function(e) {
if (e.which == 32) {
return false;
}
}

演示:

谢谢,兄弟,但是当我在文本框中粘贴任何内容时,空间就被占用了allowed@SmartDeveloper正确检查您的文本框id!我已经正确地检查了它,当我在文本框中键入任何内容时它工作正常,然后它不允许有空间,但当我粘贴任何考虑到空间的内容时,它粘贴空间alsosir当我粘贴此文本框中的任何内容时,它粘贴空间alsosir当我单击运行代码段并粘贴任何考虑到空间的内容时,它粘贴空间ALSOMID bad。先生,有没有办法用破折号(-)来代替空格?你说的空格是什么意思?整个输入为空,则值应为
-
?检查我的解决方案!当我粘贴任何内容时,它允许空白。我的输入框中没有任何空间:/。什么东西不起作用?先生,当我在这个文本框中粘贴任何东西时,它也会粘贴空格。当你离开输入时,空格会被删除
document.getElementById("UserName").onkeypress = function(e) {
if (e.which == 32) {
return false;
}
}