Funcion para validar numerico CON coma y dos decimales

function ValidarNumericoConComa(objeto, decimales) {
    if (decimales == null || decimales == 'undefined')
        decimales = 2;
    var key = window.event.keyCode;
    if ((key < 48 || key > 57) && key != 44)
        window.event.keyCode = 0;
    else if (key == 44) {
        //Miramos si ya existe una coma, si es asi no dejamos volver a pintarla
        var a;
        var contador = 0;
        for (a = 0; a < $("#" + objeto).val().length; a++)
            if ($("#" + objeto).val().substring(a, a + 1) == ",")
                contador++;

        if (contador == 1)
            window.event.keyCode = 0;
    }

    //Cogemos la posicion del puntero en ese momento para que pueda
//escribir numeros en cualquier parte excepto en la parte decimal.
    //Si ha seleccionado un rango de numeros se le permite modificarlos
    var range = document.selection.createRange();
    var range2 = $("#" + objeto).get(0).createTextRange();
    range2.collapse(true);
    range2.moveEnd('character', 0);
    range2.setEndPoint('EndToStart', range);
    distancia = range2.text.length;
    pos_final = parseFloat($("#" + objeto).val().length) - parseFloat(distancia);
    range2.move('character', pos_final);
    var pos = $("#" + objeto).val().indexOf(',');
    if (pos > 0 && pos_final == 0) {
        if ($("#" + objeto).val().substring(pos).length > decimales) //-> 2 DECIMALES
            window.event.keyCode = 0;
    }
}

Comentarios

Entradas populares