-
-
Save donpandix/f1d638c3a1a908be02d5 to your computer and use it in GitHub Desktop.
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'); |
Gracias por el código, lo acabo de encontrar, usare tu regex para mi aplicación php. PD = Quiero poner una idea para discusion...Sera necesario cambiar la cantidad de numeros anteriores 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 podría 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}$valor.reemplazar(/^(\d{1,2})(\d{3})(\d{3})(\w{1})$/, '$1.$2.$3-$4'); (junto con maxlength = 10 formatea el rut a xx.xxx.xxx-x)
Esto no me funciono, solo con rut de 1 digito primario como 1.111.111-1 pero con dos digitos no funciona, sale asi: 1.111.111-11 en vez de asi: 11.111.111-1
Agradecido con el de arriba
Hola César González .. Escribo para agradecer Tu Generosidad, cuando uno ya sabes a veces en contra del tiempo..y bajo presion y con la mente nublada lloviendo bajo tormenta las ideas creativas.. se las lleva la lluvia.. gracias por tus código de solidaridad.. colega .. atento aquí..