Prova a cambiare questa riga:
valore = obj.value.replace(/[^\d]/g,'').replace(/^0+/g,'');
con questa:
valore = obj.value.replace(/[^\d,]/g,'').replace(/^0+/g,'');
Cioè nel primo replace nella regularExpress oltre \d (che sono i numeri) la virgola , o anche cosi \, non ricordo se la virgola e un carattere riservato