在输入中只允许数字和一个点

时间:2016-12-14 17:41:30

标签: javascript jquery

在jQuery中使用以下代码:

$('#from-amount').keypress(function(event) {
    if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
        event.preventDefault();
    }
});

它确实有效,但我可以在开始时使用.并粘贴(使用鼠标和键盘CMD + V)任何字符串。如何在开始时阻止.并使用键盘和鼠标禁用粘贴?

1 个答案:

答案 0 :(得分:6)

试试这个

$('#from-amount').keypress(function(event) {
    if (((event.which != 46 || (event.which == 46 && $(this).val() == '')) ||
            $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
        event.preventDefault();
    }
}).on('paste', function(event) {
    event.preventDefault();
});

https://jsfiddle.net/4rsv960t/1/