0

我试图在一个项目中将值格式化为金钱,而这些值可能是负数。

我被困在如何创建正确的面具。我做了一个jsfiddle

<input type="text" class="negative-money" />

$(document).ready(function() {    
  var mask = $('.negative-money');
  var money = -1011987.65;

  mask.val(money);
  mask.mask('-{000,}000.00');
  // ---------^^^^^^ the problem is here
});

我查看了一些示例并阅读了一些文章,但我不知道该怎么做。

我希望上一个示例的输出为:-1,011,987.65

4

1 回答 1

0

请参阅此以获取负数

jQuery Mask Plugin:负整数的掩码

我已经根据上面的链接修改了脚本:

$('input.negative-money').mask('#,##0.00', {
  reverse: true,
  translation: {
    '#': {
      pattern: /-|\d/,
      recursive: true
    }
  }
});

var value = $('input.negative-money').val();
$('input.negative-money').val(value.replace(/(?!^)-/g, '').replace(/^,/, '').replace(/^-,/, '-'));
于 2016-07-29T17:25:56.387 回答