Как отформатировать число по функции `onblur` в javascript? - PullRequest
0 голосов
/ 04 ноября 2011

На моей веб-странице есть текстовое поле ввода, в котором пользователь должен ввести номер (например, «100000»). Когда текстовое поле теряет фокус, я хотел бы отформатировать эти данные в удобочитаемый формат, например, «100 000». Возможно ли это сделать в javascript?

Ответы [ 3 ]

2 голосов
/ 04 ноября 2011

здесь у вас есть пример: http://jsfiddle.net/manuel/qgLn4/1/

function addCommas(nStr)
{
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
document.getElementById("a").onblur = function() {
    this.value = addCommas(this.value.replace(',', ''))
}
0 голосов
/ 04 ноября 2011

В основном индийские обозначают число в своем формате.

document.getElementById("elem").onblur =function (){
    var val = this.value.replace(/\,/g,"").split("").reverse();
    if( val.length <= 3) return;
     var newval = [];
    for(var i = 0; i< val.length; i++){
        if( i == 3 || (i > 3 && (i - 3)%2 == 0 ) ){
            newval.push( ",");
        }

        newval.push( val[i]);       
    }
this.value = newval.reverse().join("");
}; 

jsfiddler

0 голосов
/ 04 ноября 2011

Посмотрите, может ли этот плагин помочь: http://plugins.jquery.com/project/maskinputmoney

Кстати, я его использовал:)

...