Código de JavaScript - Validar rut Chileno

Versión 1
estrellaestrellaestrellaestrellaestrella(13)

Publicado el 4 de Marzo del 2007gráfica de visualizaciones de la versión: Versión 1
85.961 visualizaciones desde el 4 de Marzo del 2007
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
function Valida_Rut( Objeto )
{
	var tmpstr = "";
	var intlargo = Objeto.value
	if (intlargo.length> 0)
	{
		crut = Objeto.value
		largo = crut.length;
		if ( largo <2 )
		{
			alert('rut inválido')
			Objeto.focus()
			return false;
		}
		for ( i=0; i <crut.length ; i++ )
		if ( crut.charAt(i) != ' ' && crut.charAt(i) != '.' && crut.charAt(i) != '-' )
		{
			tmpstr = tmpstr + crut.charAt(i);
		}
		rut = tmpstr;
		crut=tmpstr;
		largo = crut.length;
 
		if ( largo> 2 )
			rut = crut.substring(0, largo - 1);
		else
			rut = crut.charAt(0);
 
		dv = crut.charAt(largo-1);
 
		if ( rut == null || dv == null )
		return 0;
 
		var dvr = '0';
		suma = 0;
		mul  = 2;
 
		for (i= rut.length-1 ; i>= 0; i--)
		{
			suma = suma + rut.charAt(i) * mul;
			if (mul == 7)
				mul = 2;
			else
				mul++;
		}
 
		res = suma % 11;
		if (res==1)
			dvr = 'k';
		else if (res==0)
			dvr = '0';
		else
		{
			dvi = 11-res;
			dvr = dvi + "";
		}
 
		if ( dvr != dv.toLowerCase() )
		{
			alert('El Rut Ingreso es Invalido')
			Objeto.focus()
			return false;
		}
		alert('El Rut Ingresado es Correcto!')
		Objeto.focus()
		return true;
	}
}



Comentarios sobre la versión: Versión 1 (13)

19 de Mayo del 2007
estrellaestrellaestrellaestrellaestrella
Interesante codigo, veremos si funciona, de todos modos desde ya se agradece por el esfuerzo y las ganas de cooperar
Responder
23 de Septiembre del 2009
estrellaestrellaestrellaestrellaestrella
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function valrut(objeto){
	var i, s, f, bueno;
	f = "32765432";
	r = objeto.value;
	largo=r.length - 2;
	bueno=false;
	s=0;
	for (i=0;i<largo;i++){
		s=s+(parseInt(r.charAt(i)) * parseInt(f.charAt(i)));
	}
	dv=11-(s%11);
	if (dv==10 && (r.charAt(9)=='K' || r.charAt(9)=='k')){
		bueno=true;
	}else{
		if (dv==11 && r.charAt(9)=='0'){
			bueno=true;
		}else{
			if (dv==parseInt(r.charAt(9))){
				bueno=true;
			}else{
				alert("RUT Incorrecto...");
				objeto.focus();
				bueno=false;
			}
		}
	}
	return bueno;
}
Responder
27 de Octubre del 2010
estrellaestrellaestrellaestrellaestrella
Esta bueno, pero buscaba entender lo que se hizo, una pequeña explicacion de la logica XD Gracias
Responder
13 de Abril del 2011
estrellaestrellaestrellaestrellaestrella
Funcionó bien, buen código, muchas gracias
Responder
27 de Enero del 2012
estrellaestrellaestrellaestrellaestrella
Y como puedo validarlo??
Responder
gonzal
2 de Abril del 2015
estrellaestrellaestrellaestrellaestrella
Gracias por el aporte,,sensillo y concreto..
Para los que no les ha funcionado tienen que
1.-copiar el codigo en un documento *.js
2.- lo inlcuyen como documento relativo a JScript en la cabecera del html.
3.- Yo lo llamé con este metodo: onBlur="Valida_Rut(this)"

Saludos y gracias por el aporte
Responder
carlos
10 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
¿Como puedo darle formato al rut? es decir que le incluya "." y "-"
Aparte de esto, me funciono super el código, gracias!
Responder
Tomas Alvarez
14 de Julio del 2017
estrellaestrellaestrellaestrellaestrella
Buen aporte pero hay alguna manera de que pueda recibir el digito verificador desde un textbox aparte??
por que asi lo nesesito :/
Responder
Fabiola
12 de Julio del 2018
estrellaestrellaestrellaestrellaestrella
no se porque lo pongo en un onblur y hago click en aceptar y se vuelve a abrir la alerta, y como tiene el focus no puedo salir del input T^T
Responder
21 de Mayo del 2019
estrellaestrellaestrellaestrellaestrella
..pero pruebalo, y adaptalo a tus necesidades,..eres un gran programador,.. como no vas a poder amoldarlo a tus requerimientos ?
Alguien acá preguntaba: "como puedo probarlo?",.. la respuesta es obvia
Responder
Hector
15 de Agosto del 2018
estrellaestrellaestrellaestrellaestrella
Está Genial, Muchas Gracias por el aporte
Responder
cristian
5 de Julio del 2019
estrellaestrellaestrellaestrellaestrella
hola no se si sea tarde pero, el codigo valida perfecto y el problema que tengo es que al llamarlo con un evento onblur me sale el alert de correcto o incorrecto, pero el alert en cuestion no se cierra y no me deja seguir con el procedimiento, alguien sabe a que se deba?
Responder
jair
21 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
Amigo, consulta, ¿pudo solucionar el problema del alert?
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1471