http://jsfiddle.net/WhP8q/如何使用jQuery指定文本框中允许使用哪些字符?
我想限制输入到字母数字,0-9,A-Z,A-Z。
ASCII码表我我引用:http://www.asciitable.com/ 这里是我到目前为止
$(function() {
$("input").bind("keydown paste", function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
var c = code;
var letterAllowed = ((c > 47 && c < 58) || (c > 64 && c < 90) || (c > 96 && c < 123))
if (code > 32 && !letterAllowed) {
return false;
}
});
});
现在,波浪号(〜)字符从获得输入到现场阻止,但其他特殊/移位字符(如!@#$%)全部输入到文本字段中。 我很确定我的逻辑是正确的,但我的问题是对javascript绑定有些误解? IDK的
嗯,你的意思是,你必须用'paste'事件的问题吗?如果是这样,你是否认为'keydown'是单个字符,'paste'可以是多个字符的事实? –
keyCode引用按下的键,而不是它将输入的字符。换档字符是Shift键代码和被按下的键的组合。要查看此操作,请访问http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes – jonhopkins
请参阅: http://jsfiddle.net/lesson8/HkEuf/1/ 您可以在上面的代码中添加字母代码。 或 试试这个.. http://jsfiddle.net/DHCUg/ –