按键数字验证

Din*_*naz 5 javascript asp.net-mvc jquery jquery-ui

我使用下面的代码验证电话号码它工作正常,但我在用户输入值时第一次允许char.我怎么能解决它....

$('.Number').keypress(function () {
    $('.Number').keypress(function (event) {
        var keycode;

        keycode = event.keyCode ? event.keyCode : event.which;

        if (!(event.shiftKey == false && (keycode == 46 || keycode == 8 ||
                keycode == 37 ||keycode == 39 || (keycode >= 48 && keycode <= 57)))) {
            event.preventDefault();
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 6

第一个字符不受限制,因为您有嵌套的keypress处理程序。尝试这个:

$('.Number').keypress(function (event) {
    var keycode = event.which;
    if (!(event.shiftKey == false && (keycode == 46 || keycode == 8 || keycode == 37 || keycode == 39 || (keycode >= 48 && keycode <= 57)))) {
        event.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)