【发布时间】:2012-11-26 14:07:00
【问题描述】:
我正在尝试将输入限制为字母数字、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 绑定有一些误解?身份证
【问题讨论】:
-
呃,你的意思是
paste事件有问题?如果是这样,你有没有想到keydown是单个字符,paste可以是多个字符? -
keyCode 是指按下的键,而不是它将输入的字符。移位字符是 Shift keyCode 和按下的键的组合。要查看实际情况,请转至cambiaresearch.com/articles/15/javascript-char-codes-key-codes
-
refer:jsfiddle.net/lesson8/HkEuf/1您可以在上面的代码中添加字母的代码编号。或者试试这个..jsfiddle.net/DHCUg
标签: javascript jquery textfield