阻止ONLY空格输入from文本字段
Blocking ONLY spaces from being entered into a from textfield
我有一个文本字段,用户必须在其中输入自己的姓名。我遇到的问题是阻止用户只进入空间。我希望用户能够使用空格,但前提是他们有其他字符(abc、abc、1-9等)。如何阻止他们只输入空格?这可以通过按键向上或按键完成吗?
尝试下面这样的操作,它将限制起始处的空白
$("#textareaid").on("keydown", function (e) {
var len = $("#textareaid").val().length;
if(len == 0)
return e.which !== 32;
});
工作演示
更新
上述方法有一些限制,即当用户在文本区域输入一些字符,然后将光标移动到文本区域的第零个位置,然后尝试输入一个空格时,它将允许。下面的解决方案也克服了这一点。。
html
<textarea id="text1"></textarea>
javascript
$("#text1").on("keydown", function (e) {
var len = $("#text1").val().length;
if(len == 0)
{
return e.which !== 32;
}
else
{
var pos=$("#text1").getCursorPosition();
if(pos==0)
{
return e.which !== 32;
}
}
});
$("#text1").on("keyup", function (e) {
var pos=$("#text1").getCursorPosition();
if(pos==0)
{
var values =$("#text1").val();
if(values.charAt(0)==' ')
{
values=values.trim();
$("#text1").val(values);
}
return e.which !== 32;
}
});
(function ($, undefined) {
$.fn.getCursorPosition = function() {
var el = $(this).get(0);
var pos = 0;
if('selectionStart' in el) {
pos = el.selectionStart;
} else if('selection' in document) {
el.focus();
var Sel = document.selection.createRange();
var SelLength = document.selection.createRange().text.length;
Sel.moveStart('character', -el.value.length);
pos = Sel.text.length - SelLength;
}
return pos;
}
})(jQuery);
上面代码DEMO 的工作示例
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 使用jquery将输入字段转换为文本
- 如何从查询字符串中的输入字段发回文本
- 表单输入字段随着溢出的文本而增长
- 使用单个文本框向多个字段添加严格搜索
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 使用jQuery的输入字段文本换行
- 向使用jQuery加载DOM后添加的字段添加不受限制的文本输入DatePickers
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 模拟文本输入字段上的退格键
- 输入字段中的可持续文本
- 未获取文本输入字段的值
- 没有文本安全性的密码字段
- 将禁用的输出字段更改为带前缀的文本
- 为什么 react 将输入[类型=“文本”] 字段设为只读,除非我提供 onChange 回调
- 使用SAPUI5中的“文本”字段显示正确的“日期”
- Kendo,如何将MVVM文本:字段绑定到远程DataSource