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/ –