2016-07-29 3 views
0

Я пытаюсь отформатировать значения как деньги в одном проекте, и эти значения могут быть отрицательными.Повторить группу «000» в маске jquery

Я застрял в создании правильной маски. Я сделал один 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

ответ

0

см это для отрицательных чисел

jQuery Mask Plugin: mask for negative integers

Я изменил сценарий, основанный на приведенной выше ссылке:

$('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(/^-,/, '-')); 
Смежные вопросы