2013-09-06 3 views
0

Как бы форматировать поле суммы с запятой и десятичной запятой?
Я могу получить запятые, но эта функция не допускает десятичных знаков в поле.Формат Поле суммы с запятой и десятичной запятой

$('input.number').keyup(function(event) { 

    // skip for arrow keys 
    if(event.which >= 37 && event.which <= 40){ 
    event.preventDefault(); 
    } 

    $(this).val(function(index, value) { 
    return value 
     .replace(/\D/g, "") 
     .replace(/\B(?=(\d{3})+(?!\d))/g, ",") 
    ; 
    }); 
}); 
+2

Возможный дубликат "[Как можно числа I формат как деньги в JavaScript?] (Http://stackoverflow.com/q/149055/1456376)"? – insertusernamehere

ответ

3

Это вы имели в виду?

$('input.number').keyup(function(event) { 

    // skip for arrow keys 
    if(event.which >= 37 && event.which <= 40){ 
    event.preventDefault(); 
    } 

    $(this).val(function(index, value) { 
    return value 
     .replace(/\D/g, "") 
     .replace(/([0-9])([0-9]{2})$/, '$1.$2') 
     .replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",") 
    ; 
    }); 
}); 

Вы можете проверить его здесь: http://jsfiddle.net/fXrv2/

+0

Спасибо большое! Он отлично работает! – GalloPinto

+0

@ Оскар Хейн, следуя тому же ответу. Но подходящие десятичные точки появляются, когда я использую. Например, если я хочу ввести 123, он отображает как 1.23 – Sandy

+0

@Himanshu Yadav im, следуя тому же ответу. Но подходящие десятичные точки появляются, когда я использую. Например, если я хочу ввести 123, он отобразится как 1.23 – Sandy

Смежные вопросы