Validar Rut con JavaScript

Espero sea de su utilidad el método que les presento a continuación…


function ValidaRut(cRut) {

    cRut = cRut.replace(/[\.-]/g, "");
    cRut = cRut.toUpperCase();
    var patt = /^\d{1,8}[0-9K]$/;
    var ok = patt.test(cRut);
    var cStr = cRut.slice(0, -1);
    var cDig = cRut.slice(-1);
    var nSum = 0;
    var nVal = 0;
    var cVal = "";

    if (ok) {
        for (nMul = 2; cStr != ""; nMul = (nMul == 7) ? 2 : nMul + 1) {
            nSum += Number(cStr.slice(-1)) * nMul;
            cStr = cStr.slice(0, -1);
        }
        nVal = 11 - (nSum % 11);
        switch (nVal) {
            case 11:
                cVal = "0";
                break;
            case 10:
                cVal = "K";
                break;
            default:
                cVal = nVal.toString();
        }
        ok = cVal == cDig;
    }

    return ok;
}

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *