jQuery Inputmask - 输入元素中带掩码的十进制值负数或正数

时间:2016-11-23 10:36:40

标签: javascript jquery validation jquery-inputmask

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

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

$("#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
    });

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

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

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

编辑:添加小提琴 JSFiddle

1 个答案:

答案 0 :(得分: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允许输入的负号带有两个小数点。