How to avoid entering special characters in JavaScript

javascript

Solution

Try the following function

function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
    return false;
}
return true;
}

If you are using HTML5 just try

<input type="number">

Problem

On html I have one input box in which I just want to enter numeric values. I used following function: ``` function allowNumbersOnly(event,locale) { if(locale=='en' && (event.keyCode==190 || event.keyCode==110)){ return true; } else if(locale=='nl' && (event.keyCode==188 || event.keyCode==190 || event.keyCode==110)){ return true; } if(event.keyCode==189 || (event.keyCode==109) ){ return true; } var key = event.charCode || event.keyCode || 0; // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY if ( key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)){ }else{ event.preventDefault(); } } ``` This code works fine. But when I am pressing `shift key+ any number` from keyboard then special character gets entered. Can anyone tell me how to solve this issue?

Original source

Related problems