在Jquery中只允许一个数字

时间:2014-01-29 13:40:33

标签: jquery regex

是否有任何正则表达式只允许文本框中的一个数字。即,用户只能在该文本框中键入一个数字(0到9)。

3 个答案:

答案 0 :(得分:4)

为什么有maxlength属性和input type=number

时使用正则表达式
maxlength="1"

答案 1 :(得分:0)

简单覆盖keydown事件和允许/禁止密钥

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

答案 2 :(得分:0)

我会这样做

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

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