1

Is there any Regular Expression to allow only one numeric in a textbox. ie, The user can type only one numeric (0 to 9) in that textbox.

Andy
  • 17,423
  • 9
  • 52
  • 69
DonMax
  • 970
  • 3
  • 12
  • 47
  • 1
    duplicates : [http://stackoverflow.com/questions/995183/how-to-allow-only-numeric-0-9-in-html-inputbox-using-jquery](http://stackoverflow.com/questions/995183/how-to-allow-only-numeric-0-9-in-html-inputbox-using-jquery) – Oliboy50 Jan 29 '14 at 13:42
  • This would work: `^\d{1}$` or `^[0-9]{1}$`, but only to validate input. – Daniel Jan 29 '14 at 13:44

3 Answers3

5

Why regex when you have maxlength Attribute and input type=number

maxlength="1"
Praveen
  • 55,303
  • 33
  • 133
  • 164
0

simple overwrite keydown event and allow/disalow keys

        //delete, tab, enter, escape, backspace
        var allowedKeys = [8,9,13,27,46];
        jQuery("input[class=num]")
            .attr('maxlength', 1)
            .keydown(function(event) {

            // Allow: , delete, tab, escape, enter and .
            if ( jQuery.inArray(event.keyCode,allowedKeys) !== -1
                || (event.keyCode == 65 && event.ctrlKey === true)
                || (event.keyCode >= 35 && event.keyCode <= 39)) {
                return;
            }
            else {
                if (    event.shiftKey
                        || (event.keyCode < 48
                        || event.keyCode > 57)
                    && (
                        event.keyCode < 96
                        || event.keyCode > 105
                    )) {
                    event.preventDefault();
                }
            }
        });
silly
  • 7,789
  • 2
  • 24
  • 37
0

I would do it like that

var regex = /^[0-9]{1,1}$/;

function checkInput(){
    if(regex.test($('input').val()))
        return true;
    else
        return false;
}
uzor
  • 59
  • 3