【问题标题】:How create text box which not allow blank space using javascript如何使用javascript创建不允许空格的文本框
【发布时间】:2016-10-18 10:39:42
【问题描述】:

我是 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做同样的事情,请帮帮我......

【问题讨论】:

  • 检查我的解决方案!

标签: javascript jquery html


【解决方案1】:

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

var text = document.getElementById('txtText');
text.addEventListener('input', function(e){
  var keyCode = e.keyCode ? e.keyCode : e.which;
  this.value = this.value.replace(/\s/g, '')
  if(keyCode === 32) return;
})
<input type='text' id="txtText">

【讨论】:

  • 先生,当我在此文本框中粘贴任何内容时,它也会粘贴空格
  • 先生,当我单击运行代码 sn-p 并粘贴任何认为空间它也粘贴空间的东西时
  • 我的错。立即测试。
  • 先生有什么办法可以用破折号(-)替换空格
  • 空格是什么意思?整个输入为空白,则值应为 -?
【解决方案2】:

试试这个,

HTML:

<input type="text" value="" maxlength="30" name="email" id="UserName">

Javascript:

document.getElementById("UserName").onkeypress = function(e) {
if (e.which == 32) {
return false;
}
}

演示:Click here

【讨论】:

  • 当我粘贴任何内容时,它允许空白空间
【解决方案3】:

这里是你的 jQuery 代码的转录

var input = document.getElementById("UserName");
if (input) {
  input.addEventListener('keydown', function(e){
    var key = e.which || e.keyCode;
    if (key === 32) {
      e.preventDefault();
      return false;
    }
  });
  input.addEventListener('change', function(){
    this.value = this.value.replace(/\s/g, "");
  });
}
&lt;input type="text" id="UserName"&gt;

【讨论】:

  • 我的输入框中没有空格:/。究竟是什么不起作用
  • 先生,当我在此文本框中粘贴任何内容时,它也会粘贴空格
  • 离开输入时,空格被删除
【解决方案4】:

请使用以下代码检测空间

<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;
        }
    }

检测到害虫事件。请检查以下代码。它将删除空白 onblur 事件

document.getElementById("test").onblur = function (evt) {
       var x = document.getElementById("test");
       x.value = x.value.replace(/\s/g, "");
}

【讨论】:

  • 谢谢,兄弟,但是当我在文本框中粘贴任何内容时,就会允许空间
  • @SmartDeveloper 正确检查您的文本框 ID!
  • 我已经正确检查了它当我在文本框中输入任何内容时它正在工作然后它不允许空间但是当我粘贴任何考虑空间的东西时它也会粘贴空间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
相关资源
最近更新 更多