我正在构建一个表单,我需要一个文本框,用户可以在其中输入价格或费用。
我看过一个可以做我正在寻找的表格,但我不知道该怎么做。我正在寻找的是,默认情况下,文本框包含$ 0.00。当用户开始键入数字时,其操作如下:12345678以0.01>开始。 0.12> 1.23> ---> $ 123,456.78
它需要在需要时自动添加逗号和分数的句点,只允许在句号的右侧有2位数字。
还需要阻止输入除逗号和句点以外的非数字字符的能力。因此,如果用户键入" a"而不是" a"显示然后突然删除,我甚至不希望能够看到" a"。
答案 0 :(得分:0)
我首先建议<input type="number"/>
将输入限制为仅限数字。接下来,这里有正则表达式来处理两个小数位和逗号。
var money = number.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
number
是你在密钥上获得的数字。这在调用输入时应该有效。
$('input[type="number"]').on('keyup', function(e){
var number = Number($(this).val());
var money = number.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
$(this).val(money);
});
这部分只是一个开始。您需要输入一些条件。例如,您可能需要检查在允许更改之前按下的键。您可以通过检查keycodes来完成此操作。