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