仅允许输入中的数字和一个点

在jQuery中使用以下代码:

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

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

试试这个

 $('#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/