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

Posted

技术标签:

【中文标题】jQuery Inputmask - 输入元素中带有掩码的十进制负数或正数【英文标题】:jQuery Inputmask - decimal value negative or positive with mask in input element 【发布时间】:2017-04-07 07:40:17 【问题描述】:

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

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

$("#id").inputmask("99,90,4");

我尝试使用以下代码对其进行扩展以允许负值:

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

这不起作用;该值始终以“-”开头,不能用“+”替换或删除。

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

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

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

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

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

编辑:添加小提琴 JSFiddle

【问题讨论】:

#1 使用占位符属性 #1 显示占位符,几乎正确……您的意思是在输入中添加占位符属性。顺便提一句。我添加了一个小提琴来显示问题。 【参考方案1】:
$("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 来允许输入带有两个小数点的负数。

【讨论】:

以上是关于jQuery Inputmask - 输入元素中带有掩码的十进制负数或正数的主要内容,如果未能解决你的问题,请参考以下文章

RobinHerbots jquery.inputmask 日期范围

JQuery Inputmask 不显示分隔符

如何使 jquery.inputmask 与输入类型 = 数字一起使用?

12 小时时间格式的 JQuery 输入掩码

Jquery inputmask 大小写大小写

使用 jquery.inputmask 插件进行 parsley.js 验证