2012-05-21 41 views
2

如何確保用戶在jquery中按「可打印」字符?確保在jquery中過濾可打印字符在keyup事件

我嘗試這一點,但它不工作

$("#foo").keyup(function (e) { 
    if (e.charCode) { 
     console.debug('this is printable char'); 
    } 
}); 

我想只有數字,AZ,az或字符,並且還 「E $,%」 等,但沒有箭頭,輸入,F5等

+0

http://stackoverflow.com/a/2291807/149206 – NAVEED

+0

唯一號碼,AZ,az或性格,也是「è,$,%」等,但不是箭頭,輸入,f5等 – paganotti

回答

0

嘗試:

$("#foo").keyup(function (e) { 
    if (e.which < 0x20) { 
     console.debug('this is not printable char'); 
     return; 
    } 
    else { 
     console.debug('this is printable char'); 
    } 
}); 
+1

說,你揭示的這個黑魔法是什麼!? – Aaronius

0
<script type="text/javascript"> 
    $("input").keypress(function (e) { 
     if (e.which !== 0 && e.charCode !== 0) { 
      alert(String.fromCharCode(e.keyCode|e.charCode)); 
     } 
    }); 
</script> 

似乎拖車的工作只是用jQuery 1.4.2,FF,IE,Chrome的罰款。

鑽研這是JS鍵盤事件處理的爛攤子,請參閱: JavaScript Madness: Keyboard Events

Courtesy