Skip to content

Instantly share code, notes, and snippets.

@jeferandom
Forked from donpandix/valida_rut.js
Created October 25, 2021 04:36
Show Gist options
  • Save jeferandom/a0266db8246aebd22ccd786fb4a3212a to your computer and use it in GitHub Desktop.
Save jeferandom/a0266db8246aebd22ccd786fb4a3212a to your computer and use it in GitHub Desktop.
Valida RUT chileno con JavaScript
var Fn = {
// Valida el rut con su cadena completa "XXXXXXXX-X"
validaRut : function (rutCompleto) {
if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test( rutCompleto ))
return false;
var tmp = rutCompleto.split('-');
var digv = tmp[1];
var rut = tmp[0];
if ( digv == 'K' ) digv = 'k' ;
return (Fn.dv(rut) == digv );
},
dv : function(T){
var M=0,S=1;
for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;
return S?S-1:'k';
}
}
// Uso de la función
alert( Fn.validaRut('11111111-1') ? 'Valido' : 'inválido');
@jeferandom
Copy link
Author

Gracias por el código, lo acabo de encontrar, usare tu regex para mi aplicación php. PD = Quiero poner una idea para discusión...Sera necesario restringir la cantidad de números previos al guion? por que si ingreso por ejemplo 1122334455667788-9 lo toma como válido, y por el momento la cantidad debería ser 9 u 8.

Se podria usar como un plugin en donde se pueda especificar la cantidad máxima de dígitos antes del guion y el regex quedaría así:
^[0-9]{8,9}[-|‐]{1}[0-9kK]{1}$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment