-
-
Save jeferandom/a0266db8246aebd22ccd786fb4a3212a to your computer and use it in GitHub Desktop.
Valida RUT chileno con JavaScript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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}$