如何控制十进制字段以允许输入多个点?

时间:2017-06-07 13:24:53

标签: javascript jquery

我有一个我可以控制的字段,不接受字母等。我允许输入"。"为了输入小数。如何控制不超过一个"。#34;?

这是我的源代码:

$(".allow_decimal").on("input", function(evt) {
   var self = $(this);
   self.val(self.val().replace(/[^0-9\.]/g, ''));
   if ((evt.which != 46 || self.val().indexOf('.') != -1) && 
       (evt.which < 48 || evt.which > 57)) 
   {
     evt.preventDefault();
   }
});

1 个答案:

答案 0 :(得分:1)

HTML5规范允许number输入类型。 number输入允许的其中一个属性是step,这是该数字可能上升/下降的增量:

<form>
<input type="number" step="0.1" />
<input type="submit">
</form>

虽然,是的,您可以输入类似“2.25”的内容,当您尝试提交表单时,任何符合HTML5标准的浏览器都会告诉您:

Screenshot

这仅适用于符合HTML5标准的浏览器:CanIUse.com

一如既往 - 不要相信用户发送的任何内容 - 始终在服务器上验证;)