如何只允许数字输入,允许小数点后两位,并允许在jquery中输入负号?

时间:2018-11-08 08:12:27

标签: javascript jquery html regex

我想限制用户以(。)后的形式输入最多十进制的小数,并且用户允许输入减号。和一个仅接受数字的文本字段。

<input type="text" name="debet[]" placeholder="debet" class=" money" value="0"/> 

脚本:

$('body').on('focus',".money", function(){
        $(this).simpleMoneyFormat();
    });

Here is a jsFiddle example

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

<input type="number" name="debet[]" placeholder="debet" class="money"/> 
var timer;

$('input').keyup(function (){
    clearTimeout(timer);
    timer = setTimeout(function (event) {
        $('input').val(Number($('input').val()).toFixed(2))
    }, 1000);
});

这应该做,它将每1秒触发一次事件

https://jsfiddle.net/usdf1nx6/

答案 1 :(得分:0)

您可以在输入时为let input = document.querySelector('input'); // input element const checkRegex = /^\-?\d[\,\d]+\d\.\d{0,2}$/; // regex for the format: DDD,DDD.DD input.addEventListener('blur', evt => { if(checkRegex.test(input.value)) { input.style.borderColor = '#080'; // indicates correct input } else { input.style.borderColor = '#F46'; // indicates wrong input } }); 事件添加事件监听器。然后,使用正则表达式使用RegExp.test()方法验证输入

{{1}}

Demo