不允许使用Javascript在输入中写入空格

不允许使用Javascript在输入中写入空格,javascript,Javascript,我一直在搜索很多函数,这些函数可以阻止用户在我的输入上写空格,但我似乎找不到任何真正与我合作的人。。也许我做的不只是正确的方法,我希望能得到一些帮助 这是我的HTML表单: <table> <form name="form_registar" method="post" action="registado.php" onsubmit="return validateForm()"> <tr> <td colspan="2" align

我一直在搜索很多函数,这些函数可以阻止用户在我的输入上写空格,但我似乎找不到任何真正与我合作的人。。也许我做的不只是正确的方法,我希望能得到一些帮助

这是我的HTML表单:

<table>
<form name="form_registar" method="post" action="registado.php" onsubmit="return validateForm()">
    <tr>
      <td colspan="2" align="center">
        <input type="text" name="user" placeholder="Nome de Utilizador" id="textboxEmail" maxlength="20">
      </td>
    </tr>
    <tr>
      <td>
        <input type="password" name="pw" placeholder="Password" id="textbox" maxlength="15">
      </td>
      <td>
        <input type="password" name="cpw" placeholder="Confirmar Password" id="textbox" maxlength="15">
      </td>
    </tr>
    <tr>
      <td>
        <input type="text" name="nome" placeholder="Nome" id="textbox" onkeypress="return isLetter(event)" maxlength="15">
      </td>
      <td>
        <input type="text" name="apelido" placeholder="Apelido" id="textbox" onkeypress="return isLetter(event)" maxlength="15">
      </td>
    </tr>
    <tr>
      <td colspan="2" align="center">
        <input type="text" name="email" placeholder="E-mail" id="textboxEmail" maxlength="50">
      </td>
    </tr>
    <tr>
      <td>
        Data de Nascimento:
      </td>
      <td>
        <input type="date" name="dataNasc" id="textbox">
      </td>
    </tr>
    <tr>
      <td>
        Masculino<input type="radio" name="sex" value="M" checked>
      </td>
      <td>
        Feminino<input type="radio" name="sex" value="F">
      </td>
    </tr>
    <tr>
      <td>
        <button type="submit" class="submit-button"><b>Registar</b></button>
      </td>
  </form>
  <form action="index.html">
  <td>
  <button type="submit" class="submit-button">Cancelar</button>
  </td>
  </form>
  </tr>
</table>

纳西门托数据:
男性的
女性
登记册
取消者
我想阻止用户在一个或多个输入字段中写入空格。我不知道该怎么做

编辑:Isleter和isNumber是仅允许用户分别书写字母和数字的函数

其他信息: 这是我的javascript函数,我正在寻找一个阻止用户写入空格的函数:

/* APENAS PERMITE NUMEROS */
 function isNumber(evt) {
         evt = (evt) ? evt : window.event;
         var charCode = (evt.which) ? evt.which : evt.keyCode;
         if (charCode > 31 && (charCode < 48 || charCode > 57)) {
             return false;
         }
         return true;
     }
     /* APENAS PERMITE LETRAS */
 function isLetter(evt) {
         evt = (evt) ? evt : event;
         var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
             ((evt.which) ? evt.which : 0));
         if (charCode > 31 && (charCode < 65 || charCode > 90) &&
             (charCode < 97 || charCode > 122)) {
             return false;
         }
         return true;
     }
     /* VALIDAR O FORM */
 $(function chora() {
     $('#user').on('keypress', function chora(e) {
         if (e.which == 32)
             return false;
     });
 });

 function validateForm() {
     /* USERNAME */
     var a = document.forms["form_registar"]["user"].value;
     if (a == null || a == "") {
         alert("O Username não está preenchido.");
         return false;
     }
     /* PASSWORD */
     var b = document.forms["form_registar"]["pw"].value;
     if (b == null || b == "") {
         alert("A password não está preenchida.");
         return false;
     }
     /* CONFIRMAR PASSWORD */
     var c = document.forms["form_registar"]["cpw"].value;
     if (c == null || c == "") {
         alert("A confirmação de password não está preenchida.");
         return false;
     }
     /* NOME */
     var d = document.forms["form_registar"]["nome"].value;
     if (d == null || d == "") {
         alert("O nome não está preenchido.");
         return false;
     }
     /* APELIDO */
     var e = document.forms["form_registar"]["apelido"].value;
     if (e == null || e == "") {
         alert("O apelido não está preenchido.");
         return false;
     }
     /* EMAIL */
     var f = document.forms["form_registar"]["email"].value;
     var atpos = f.indexOf("@");
     var dotpos = f.lastIndexOf(".");
     if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= f.length) {
         alert("O E-mail não se encontra devidamente preenchido.");
         return false;
     }
     /* DATANASC */
     var g = document.forms["form_registar"]["dataNasc"].value;
     if (g == null || g == "") {
         alert("A Data de Nascimento não está preenchida.");
         return false;
     }
     /* CONFIRMAÇAO PW*/
     var h = document.forms["form_registar"]["pw"].value;
     var i = document.forms["form_registar"]["cpw"].value;
     if (h != i) {
         alert("As passwords não correspondem.");
         return false;
     }

 }
/*APENAS许可号码*/
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
/*阿佩纳斯许可证*/
功能测试仪(evt){
evt=(evt)?evt:事件;
var charCode=(evt.charCode)?evt.charCode:((evt.keyCode)?evt.keyCode:
((evt.which)?evt.which:0));
如果(字符码>31&(字符码<65 | |字符码>90)&&
(字符编码<97 | |字符编码>122)){
返回false;
}
返回true;
}
/*VALIDAR O型*/
$(函数chora(){
$('#user')。在('keypress',函数chora(e)上{
如果(e.which==32)
返回false;
});
});
函数validateForm(){
/*用户名*/
var a=document.forms[“form_registar”][“user”]值;
如果(a==null | | a==“”){
警惕(“O Username nãO estápreenchido.”);
返回false;
}
/*密码*/
var b=文件.forms[“form_registar”][“pw”].值;
如果(b==null | | b==“”){
警报(“密码não estápreenchida.”);
返回false;
}
/*确认密码*/
var c=文件.forms[“form_Regitar”][“cpw”].值;
如果(c==null | | c==“”){
警惕(“一个确认密码não estápreenchida.”);
返回false;
}
/*诺姆*/
var d=文件.forms[“form_registar”][“nome”].值;
如果(d==null | | d==“”){
警惕(“O nome nãO estápreenchido.”);
返回false;
}
/*阿皮利多*/
var e=document.forms[“form_registar”][“apelido”]值;
如果(e==null | | e==“”){
警惕(“O apelido nãO estápreenchido.”);
返回false;
}
/*电子邮件*/
var f=文件.forms[“form_registar”][“email”]。值;
var atpos=f.indexOf(“@”);
var dotpos=f.lastIndexOf(“.”);
if(atpos<1 | | dotpos=f.length){
警惕(“给先兆子痫患者发送电子邮件”;
返回false;
}
/*DATANASC*/
var g=document.forms[“form_registar”][“dataNasc”]值;
如果(g==null | | g==“”){
警报(“先兆子痫患者数据”);
返回false;
}
/*CONFIRMAÇAO PW*/
var h=document.forms[“form_registar”][“pw”]值;
var i=文件.forms[“form_Regitar”][“cpw”].值;
如果(h!=i){
警报(“作为密码não对应”);
返回false;
}
}

onkeypress
太迟了。请尝试
onkeydown

检查空格键是否按下,然后返回
false
如下所示,以防止用户使用空格键:

​$("input").on("keydown", function (e) {
    return e.which !== 32;
});​​​​​

jQuery代码


我建议您看看jQuery。 然后你可以使用这个:

$('#textbox').on('keydown',function(){
  var $this = $(this);
  var value = $this.val();
  $this.val(value.replace(/\s+/g,'')); // remove all whitespace characters
});

此外,还有多个id为“textbox”的元素。每个id都应该是唯一的。

我为相同的id制作了一个JSFIDLE。看看这里

我使用了“keyCode”和“which”函数。 这将适用于浏览器、IOS、ipad和iphone,但不适用于Android手机。他们不注册“KeyCode”或“which”或“keyChar”

var keycode;
$('.nospace').keypress(function (event) {
   keycode = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode);
   if (keycode == 32) {
    return false
  };
});

检查jsiddle链接

查找正则表达式并使用它们检查输入数据是否包含空格。我建议您在所有输入字段上收听keydown或change事件,并在验证失败时清除内容可能重复的内容,我在哪里写入这些内容?如何将函数“调用”到表单?@White8Tiger是否将其添加到javascript代码中?ID在文档中应该是唯一的。您可以使用css类实现相同的格式:这看起来像一条注释。试着用更多的解释或例子来扩展你的答案。
var keycode;
$('.nospace').keypress(function (event) {
   keycode = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode);
   if (keycode == 32) {
    return false
  };
});