$(".allow_only_numbers").keydown(function (e) { var isModifierkeyPressed = (e.metaKey || e.ctrlKey || e.shiftKey); var isCursorMoveOrDeleteAction = ([46,8,37,38,39,40].indexOf(e.keyCode) != -1); var isNumKeyPressed = (e.keyCode >= 48 && e.keyCode <= 58) || (e.keyCode >=96 && e.keyCode <= 105); var vKey = 86, cKey = 67,aKey = 65; switch(true){ case isCursorMoveOrDeleteAction: case isModifierkeyPressed == false && isNumKeyPressed: case (e.metaKey || e.ctrlKey) && ([vKey,cKey,aKey].indexOf(e.keyCode) != -1): break; default: e.preventDefault(); } });
here is a working example
https://jsfiddle.net/stwzhceL/8/
this allows you ctrl+a , ctrl+c and ctrl+v , as well as the arrow keys, delete key, and return key.
plus this code also covers mac. (that cmd+a/cmd+c/cmd+v )
source share