giovedì 28 febbraio 2013

Javascript formattazione campi importo

Con questo script è possibile facilitare la scrittura degli importi nel formato italiano (il punto come separatore migliaia e virgola come separatore dei decimali).
L'evento va associato all' onkeyup dell'input type="text".

Il metodo è il seguente:


function numberFormat(obj)
   {
var nStr1 = obj.value;
var name  = obj.name;
var p = nStr1.split('.');
var nStr = "";
for(i = 0; i <p.length; i++)
nStr += p[i];
nStr += '';
x = nStr.split(',');
x1 = x[0];
x2 = x.length > 1 ? ',' + x[1] : '';
if (x2.length >3) x2 = x2.substring(0,3);
var rgx = /(\d+)(\d{3})/;
while(rgx.test(x1))
x1 = x1.replace(rgx, '$1' + '.' + '$2');
if (x2 == '' && x1.length >16) x2 = ',';
var a="document.getElementById('";
var b=name;
var c="').value=x1+x2";
eval(a+b+c);
}


Vediamo sotto un esempio concreto (provare a digitare un importo nella casella di testo):

Nessun commento:

Posta un commento