0

我正在构建一个表单,我需要一个文本框,用户可以在其中输入价格或费用。

我看到了一个可以做我正在寻找的表格,但我不知道该怎么做。我正在寻找的是默认情况下,文本框包含 0.00 美元。当用户开始输入数字时,它的行为如下: 12345678 开始为 0.01 > 0.12 > 1.23 > --- > $123,456.78

它需要在需要的地方自动添加逗号和句点,仅允许句点右侧有 2 位数字。

它还需要阻止输入逗号和句点以外的非数字字符的能力。因此,如果用户键入“a”,而不是显示“a”然后突然删除,我什至不想看到“a”。

4

1 回答 1

0

我首先建议<input type="number"/>将输入限制为仅数字。接下来,这是处理两位小数和逗号的正则表达式。

var money = number.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');

number您在 keyup 上获得的号码在哪里。这应该在输入调用时起作用。

$('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来做到这一点。

于 2015-11-19T02:40:27.977 回答