0

我有一个文本框。

<input type="text" name="FirstName" value="Mickey">

我希望用户阻止输入空格或制表符或换行符。字符之间允许使用空格。我怎样才能做到这一点?有人可以给我一个工作演示吗?我现在有这个

4

6 回答 6

1

试试这个,如果不是字符串的开头,则允许空格

window.onload = function () {
var inputEl = document.getElementById("nospace");
inputEl.addEventListener("keydown", function (e) {
    if (e.keyCode == 32 && this.value.length==0) {
        e.preventDefault();
    }
  });
}
http://jsfiddle.net/k6She/
于 2013-09-03T09:11:05.677 回答
1

只需再添加一个条件,例如

if (inputEl.value.length == 0) {
            if (e.keyCode == 32) {
                e.preventDefault();
            }
        }

仅供参考: 你不能在 TextBox 有新行,所以不需要阻止enterkey

window.onload = function () {
    var inputEl = document.getElementById("nospace");
    inputEl.addEventListener("keydown", function (e) {
        if (inputEl.value.length == 0) {
            if (e.keyCode == 32) {
                e.preventDefault();
            }
        }
    });
}

检查这个JSFiddle

于 2013-09-03T09:11:48.050 回答
0

试试这个

$(document).ready(function(){
             $("#target").keypress(function(e) {
               if(e.keyCode == 13 || e.keyCode==32)
                   return false;

});
 });
于 2013-09-03T08:57:37.703 回答
0

这里我正在检查空格键和制表符的键码。通常输入类型=“文本”中不允许换行。

 window.onload = function () {
        var inputEl = document.getElementById("nospace");
        inputEl.addEventListener("keydown", function (e) {
            if (e.keyCode == 32 || e.keyCode == 9) {
                e.preventDefault();
            }
        });
    }

JSFIDDLE

编辑:试试这个:示例代码

 $("#nospace").keydown(function (e) {
        if (e.keyCode == 32 || e.keyCode==9) {
            e.preventDefault();
        }
    });
于 2013-09-03T08:59:02.683 回答
0

工作样本

HTML

<input>

Javascript

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

这将允许除空格之外的所有字母、字母、特殊字符。

于 2013-09-03T08:59:15.490 回答
0

小提琴:http: //jsfiddle.net/Rs6Gx/

JS:

$(function(){
    $("input").keyup(function(e){
         $(this).val($(this).val().replace(/^\s/g, ""));
    });
});
于 2013-09-03T09:09:39.213 回答