篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript rut chileno validador y mascara相关的知识,希望对你有一定的参考价值。
maskRut(elementId) {
; (function (a) {
a.fn.validCampoFranz = function (b) {
a(this).on({
keypress: function (a) {
var c = a.which,
d = a.keyCode,
e = String.fromCharCode(c).toLowerCase(),
f = b
; ((-1 != f.indexOf(e) ||
9 == d ||
(37 != c && 37 == d) ||
(39 == d && 39 != c) ||
8 == d ||
(46 == d && 46 != c)) &&
161 != c) ||
a.preventDefault()
}
})
}
})($)
$(elementId).validCampoFranz('1234567890-kK')
$(elementId).focusout(function () {
var rut = $(this).val()
rut = rut.replace(/-/g, '')
var sRut1 = rut
var nPos = 0
var sInvertido = ''
var sRut = ''
for (var i = sRut1.length - 1; i >= 0; i--) {
sInvertido += sRut1.charAt(i)
if (i == sRut1.length - 1) sInvertido += '-'
else if (nPos == 3) {
sInvertido += ''
nPos = 0
}
nPos++
}
for (var j = sInvertido.length - 1; j >= 0; j--) {
if (sInvertido.charAt(sInvertido.length - 1) != '.')
sRut += sInvertido.charAt(j)
else if (j != sInvertido.length - 1) sRut += sInvertido.charAt(j)
}
$(this).val(sRut.toUpperCase())
})
}
validateRut(rut) {
// Despejar Puntos
let valor = rut.replace(/\./g, '');
// Despejar Guión
valor = valor.replace('-', '');
// Aislar Cuerpo y Dígito Verificador
let cuerpo = valor.slice(0, -1);
let dv = valor.slice(-1).toUpperCase();
// Formatear RUN
rut = cuerpo + '-' + dv
// Si no cumple con el mínimo ej. (n.nnn.nnn)
if (cuerpo.length < 7) { return false; }
// Calcular Dígito Verificador
let suma = 0;
let multiplo = 2;
// Para cada dígito del Cuerpo
for (let i = 1; i <= cuerpo.length; i++) {
// Obtener su Producto con el Múltiplo Correspondiente
let index = multiplo * valor.charAt(cuerpo.length - i);
// Sumar al Contador General
suma = suma + index;
// Consolidar Múltiplo dentro del rango [2,7]
if (multiplo < 7) { multiplo = multiplo + 1; } else { multiplo = 2; }
}
// Calcular Dígito Verificador en base al Módulo 11
let dvEsperado = 11 - (suma % 11);
// Casos Especiales (0 y K)
dv = (dv == 'K') ? 10 : dv;
dv = (dv == 0) ? 11 : dv;
// Validar que el Cuerpo coincide con su Dígito Verificador
if (dvEsperado != dv) { return false; }
// Si todo sale bien, eliminar errores (decretar que es válido)
return true
}
以上是关于javascript rut chileno validador y mascara的主要内容,如果未能解决你的问题,请参考以下文章