如何让输入框接受正负十进制值?

How to make an input box to accept positive and negative decimal values?

如何让输入框只接受一个 - 符号或一个 + 符号和一个带数字的小数点?

我试过`preventDefault();通过以下代码屏蔽其他字符:

$('.pndecimal').on('keypress keyup blur', function(e){
         if(e.which< 48 && e.which > 57)
         { 
            e.preventDefault();
         }
    });

我不允许这些,因为它们超出了数字的 ASCII 代码范围 (e.which<48 & e.which >57)

使用正则表达式验证,如果通过取值,否则显示错误。

例如:/(-|\+)+[0-9]+\.[0-9]+/g

有效输入:+9.0、-9.7、+78.9、-10.0

如果你想在小数点后有多个数字而不是使用这个模式(这个模式也允许像 -99/,++,-- 这样的输入)

例如:/(-|\+)+[0-9]+\.[0-9]+/g

有效输入:+91.42、+1.809、-9.0

如果要限制为 2 个整数、2 个小数、任何一个符号,请使用以下内容:

RegExp(/(-|\+)+[0-9]+\.[0-9]+/g)

<input type="text" maxlength="4">