0

What is the best way for me to prevent a ascii code like enter, ctrl, alt, del, and etc

 if (
(event.keyCode >= 48 && event.keyCode <= 57)|| 
(event.keyCode >= 65 && event.keyCode <= 90)||
(event.keyCode >= 97 && event.keyCode <= 122)) 
{
   event.preventDefault();
   $(this).html(event.key)
}

Note: i forget to include spc character too in this code

the best way for me to prevent a ascii code like enter, ctrl, alt, del, and etc in javascript or jQuery (ASCII code for input only)

  • 1
    The value of `event.keyCode` is not ASCII code, it's a keyboard mapping index. Anyway, [keyCode](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode) is deprecated, use [code](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code) to get a key, or [key](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) to get a character. – Teemu Aug 25 '23 at 05:14
  • @Teemu I also thought so, but OP wants a range. – mplungjan Aug 25 '23 at 06:10
  • Here is an [interesting set of answers](https://stackoverflow.com/questions/12467240/determine-if-javascript-e-keycode-is-a-printable-non-control-character) – mplungjan Aug 25 '23 at 06:12
  • @mplungjan Yes, but what then when "_this feature ... cease to work_" takes place? – Teemu Aug 25 '23 at 06:13
  • Still interesting... – mplungjan Aug 25 '23 at 06:26
  • @mplungjan ya... im looking for this answer [interesting set of answers](https://stackoverflow.com/questions/12467240/determine-if-javascript-e-keycode-is-a-printable-non-control-character) thanks – brian christian Aug 25 '23 at 07:24

1 Answers1

0

event.keyCode are not ascii codes. But anyway I think this might be a right approach:

$(document).on('keydown', function(event) {
    // List of key codes to be prevented
    var forbiddenAsciiCodes = [13, 17, 18, 46]; // Enter, Ctrl, Alt, Delete
    
    if (forbiddenAsciiCodes.includes(event.keyCode)) {
        event.preventDefault();
    } else if (
        (event.keyCode >= 48 && event.keyCode <= 57) || 
        (event.keyCode >= 65 && event.keyCode <= 90) ||
        (event.keyCode >= 97 && event.keyCode <= 122) ||
        event.keyCode === 32 // Space
    ) {
        $(this).html(event.key);
    }
});
stax
  • 132
  • 8