DonMax
DonMax

Reputation: 960

Allow only one Digit in Jquery

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.

Upvotes: 1

Views: 2228

Answers (3)

uzor
uzor

Reputation: 59

I would do it like that

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

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

Upvotes: 0

silly
silly

Reputation: 7887

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();
                }
            }
        });

Upvotes: 0

Praveen
Praveen

Reputation: 56501

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

maxlength="1"

Upvotes: 5

Related Questions