PageSourceSearch

https://chilexpress.cl/Resources/Scripts/Controles/ValidaRut.js?v=134353905142951872

js chilexpress.cl collected 2026-10-02 04:55:57 UTC 2,446 bytes, 76 lines download raw bytes

1$(document).ready(function () {
2
3
4    $('#rut').focusout(function () {
5        if ($('#rut').val() != "") {      
6            if (Fn.validaRut(rut.value)== true) {
7                $('#rut').val(formato_rut($('#rut').val()));
8            }
9            else {
10                $('#rut').val("");
11                return false;
12            }             
13        }
14    })
15
16    var Fn = {
17        validaRut: function (rutCompleto) {
18            rutCompleto = rutCompleto.replaceAll('.', '');
19            if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test(rutCompleto))
20                return false;
21            let tmp = rutCompleto.split('-');
22            let digv = tmp[1];
23            let rut = tmp[0];
24            if (digv == 'K') digv = 'k';
25            return (Fn.dv(rut) == digv);
26        },
27        dv: function (T) {
28            let M = 0, S = 1;
29            for (; T; T = Math.floor(T / 10))
30                S = (S + T % 10 * (9 - M++ % 6)) % 11;
31            return S ? S - 1 : 'k';
32        }
33    }
34 });
35
36function formato_rut(strRut) {
37    //var strRut = new String(rut);
38    while (strRut.indexOf(".") != -1) {
39        strRut = strRut.replace(".", "");
40    }
41    while (strRut.indexOf("-") != -1) {
42        strRut = strRut.replace("-", "");
43    }
44    var sRut1 = strRut;      //contador de para saber cuando insertar el . o la -
45    var nPos = 0; //Guarda el rut invertido con los puntos y el guión agregado
46    var sInvertido = ""; //Guarda el resultado final del rut como debe ser
47    var sRut = "";
48    for (var i = sRut1.length - 1; i >= 0; i--) {
49        sInvertido += sRut1.charAt(i);
50        if (i == sRut1.length - 1)
51            sInvertido += "-";
52        else if (nPos == 3) {
53            sInvertido += ".";
54            nPos = 0;
55        }
56        nPos++;
57    }
58    for (var j = sInvertido.length - 1; j >= 0; j--) {
59        if (sInvertido.charAt(sInvertido.length - 1) != ".")
60            sRut += sInvertido.charAt(j);
61        else if (j != sInvertido.length - 1)
62            sRut += sInvertido.charAt(j);
63    }
64    //Pasamos al campo el valor formateado
65    return sRut.toUpperCase();
66}
67
68function soloRut(evt) {
69    var numCode = (evt.which) ? evt.which : evt.keyCode
70    if ((numCode > 47 && numCode < 58) || numCode == 8 || numCode == 13 || numCode == 45 || numCode == 75 || numCode== 107) {
71        return true;
72    }
73    else {
74        return false;
75    }
76}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.