1

我正在尝试向输入元素添加一个输入掩码,它允许用户输入 -90 到 90 之间的小数,小数分隔符后有 0 到 4 个数字(旁注:我正在使用 jQuery validate 进行最小值和最大值验证)。

我能够使用以下代码使其适用于正值:

$("#id").inputmask("99,9{0,4}");

我尝试使用以下代码扩展它以允许负值:

$.mask.definitions['~']='[+-]';
$("#id").inputmask("~99,9{0,4}");

哪个不起作用;该值始终以“-”开头,无法用“+”替换或删除它。

我最后一次尝试是这样的:

$('#id').inputmask('decimal', { 
        radixPoint: ".", 
        integerDigits: 2,
        digits: 4,
        digitsOptional: true,
        autoGroup: true,
        allowPlus: true,
        allowMinus: true
    });

这几乎可以工作,但我有以下问题:

  • 输入元素不包含可见掩码(类似于 __.____)
  • 用户必须输入“-”或“+”号作为第一个字符,不能在输入的开头添加减号。

我的目标是有一个带有可见掩码的输入元素,最好采用以下格式__.____,它允许用户输入负值或正值。用户应该能够在输入的开头添加一个减号(在他输入数字之后(和之前))。

编辑:添加小提琴 JSFiddle

4

1 回答 1

2
$("input.percentage").inputmask({
    alias: "percentage",
    digits: "2",
    rightAlign: false,
    suffix: "%",
    integerDigits: 5,
    digitsOptional: true,
    allowPlus: true,
    allowMinus: true,
    placeholder: "0",
    min: -1000,
    max: 1000,
    numericInput: true
  });

我使用 max 和 min 来允许输入带有两个小数点的负数。

于 2020-04-27T10:52:25.250 回答