输入表单中不允许有空白字符/空格
Not allow a blank character / space in a input form
是否可以不允许在如下所示的输入表单中使用空白字符/空格?
<input type="text" value="" maxlength="30" name="email" class="formfield w0">
检查这个小提琴。相关代码:
$(function() {
$('#input1').on('keypress', function(e) {
if (e.which == 32){
console.log('Space Detected');
return false;
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="input1" />
使用 HTML5 的扩展输入类型来应用约束验证,这将防止在现代浏览器中提交带有无效电子邮件的表单:
<input type="email" value="" maxlength="30" name="email" class="formfield w0">
在较旧的浏览器中,您可以检测到输入的类型不是"电子邮件",因为当值被视为无效时,它将默认为"文本"。 我建议阻止表单的提交,而不是阻止空格键的默认操作,这可能会通过粘贴或其他输入方法无意中规避。
以下代码是这方面的一个示例,应在文档准备就绪后执行:
var frm = document.getElementById('myform');
if (frm.email.type === 'text') {
frm.onsubmit = function () {
if (/'s/.test(frm.email.value)) {
// Tell your user the field is invalid here, e.g.
frm.email.className = 'invalid';
// Prevent form submission
return false;
}
}
}
工作演示:http://jsfiddle.net/hgc7C/
不要忘记,这不是服务器端表单验证的替代品。
是的,使用 javascript/JQuery 是可能的。
如果您希望它适用于所有文本框,请执行以下操作。
$(function() {
$('.formfield input[type=text]').on('keypress', function(e) {
if (e.which == 32)
return false;
});
});
如果要将其用于特定文本框,请将 id 添加到文本框输入中,并将.formfield input[type=text]
替换为#textBoxId
相关文章:
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 如何将字符串拆分为字符,但在javascript中保留空格
- 正则表达式搜索一个空格,后跟一个字符
- 用于在Javascript中删除多个空格的特殊字符
- 如何在没有额外空格的情况下从MySQL中检索字符数据
- 在跨度中每3个字符添加一个空格
- 为什么Javascript中的整数加空格加字符串会导致数字和字符串的总和?(2++'22'=24)
- jquery textcomplete无法使用Unicode字符,并且缺少空格
- 将字符串从第二个空格切成特殊字符
- 为什么不'当用户输入空格或字符太多/不够时,此函数会发出window.alert
- 正则表达式,用于除所有空格和一个特殊字符之外的所有内容
- 检查最后键入的字符是否为空格
- Javascript正则表达式,返回连字符和空格后面的数字
- 删除给定字符前的多余空格
- 通过JQuery在网页上的两个字符之间放置空格
- 仅当后面跟着字母表时才允许使用空格字符的验证
- 输入表单中不允许有空白字符/空格
- JavaScript中(字符空间字符)或(空格字符空格)的表达式是什么
- 正则表达式 javascript,字符空格圆括号