Skip to main content

Allow Only Numbers into a Textbox

Sometime it is requirement that we only want number to be entered through textbox, for e.g. we need to enter age through textbox, age will be always in number, to stop user from entering non-numeric value either we can use validation control and raise error when non-numeric value will be entered, or we can stop user from entering non-numeric word at all by using Javascript/Jquery.

Here I will show how to use Javascript to allow only numbers to be entered in a textbox. This solution works in in all browsers.

function NumericOnly(evt) {
    var e = evt
    if (window.event) { // For IE browsers
        var charCode = e.keyCode;
    } else if (e.which) { // For Safari 4, Firefox 3.0.4 and more
        var charCode = e.which
    }


    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;


    return true;
}


use this function as:
<input type="text" id="txtNumeric" onkeypress="return NumericOnly(event);" />

on keypress event function is called and it will allow only numeric values.

Now sometime we need only numeric field,but we need to enter decimal value, like 2.1, 3.5 etc. but above function will not allow (.), so overcome it and allow decimal values we can modify above function as:

function DecimalOnly(evt) {
        var e = evt
        if (window.event) { // For IE browsers
            var charCode = e.keyCode;
        } else if (e.which) { // For Safari 4, Firefox 3.0.4 and more
            var charCode = e.which
        }

        if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
            return false;

        return true;
    }




Cheers!!!!!!!!!

Comments