Foros del Web » Programando para Internet » Javascript »

validar rut

Estas en el tema de validar rut en el foro de Javascript en Foros del Web. necesito validar el rut en javascript si alguien me puede ayudar plis...
 
Antiguo 17/07/2003, 08:04
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 22 años, 8 meses
Puntos: 0
Pregunta validar rut

necesito validar el rut en javascript si alguien me puede ayudar plis
 
Antiguo 17/07/2003, 09:13
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 24 años, 2 meses
Puntos: 1
Hola, perdon por mi ignorancia pero que es el "rut" un numero?, documento o algo asi?
 
Antiguo 17/07/2003, 09:57
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 22 años, 8 meses
Puntos: 0
rut es la cedula de identidad chilena por ejemplo 12.365.897-7 lo que yo necesito es verificar que el numero ingresado sea correcto eso se hace verificando el digito verificador en este caso 7
eso es ojala te haya quedado claro
 
Antiguo 17/07/2003, 10:00
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 25 años
Puntos: 2
aha....debe ser como el DNI (documento nacional de identidad) en españa. Ejemplo: 45876234-H)......que tambien tiene un algoritmo por el que se saca la letra del final (en nuestro caso una letra)...




ToKaTa.
__________________

"Si pudieras volver.....¿.lo harias?"
 
Antiguo 17/07/2003, 10:34
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 22 años, 8 meses
Puntos: 0
exacto eso es ("bingo")
 
Antiguo 17/07/2003, 10:36
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 24 años, 2 meses
Puntos: 1
Hola elota, gracias por desburrarme...

Aca te encontré un código de validación de RUT (chile), está en una discución en Programacion.com (http://www.programacion.com/foros/5/msg/13012/), es este:

Código:
<html>
<head>

<script language="javascript">
<!--
// ****** Script by Cristian Basaez ******
function validar(formulario) {
var rut = formulario.rut.value;
var count = 0;
var count2 = 0;
var factor = 2;
var suma = 0;
var sum = 0;
var digito = 0;
count2 = rut.length - 1;
	while(count < rut.length) {

		sum = factor * (parseInt(rut.substr(count2,1)));
		suma = suma + sum;
		sum = 0;

		count = count + 1;
		count2 = count2 - 1;
		factor = factor + 1;

		if(factor > 7) {
			factor=2;
		}

	}
digito = 11 - (suma % 11);

if (digito == 11) {
	digito = 0;
}
if (digito == 10) {
	digito = "k";
}
form.dig.value = digito;
}
//-->
</script>

</head>

<body onload="form.rut.focus(), form.rut.value='', form.dig.value=''" >

<center>

<form name="form">
<h2><b> Validar RUT </b></h2>

<input type="text" name="rut" size="9" maxlength="8"> - <input type="text" name="dig" size="1" maxlength="0"><br><br><br>
<input type="button" onclick="validar(this.form)" value="Validar Rut">

</form>

</center>
</body>
</html>
No lo probe, pero en esa discución hablan de que operaciones que deben llevar a cabo para la comprobación.

Espero que te sirva, saludos....
 
Antiguo 17/07/2003, 11:03
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 22 años, 8 meses
Puntos: 0
si, si sirve lo acabo de probar muchas gracias Tx
 
Antiguo 02/03/2007, 12:14
 
Fecha de Ingreso: octubre-2005
Mensajes: 95
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: validar rut

Yo lo modifiqué un poco..la idea es que funione en unsa sola caja de texto:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Modificar Rut</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/javascript">
function ValRut(rutx)
{
	var count = 0;
	var count2 = 0;
	var factor = 2;
	var suma = 0;
	var sum = 0;
	var digito = 0;
	var arrRut = rutx.split('-');
	
	if(arrRut.length!=2)
	{
		document.getElementById('Verificacion').innerHTML="&nbsp;";
		document.form1.Submit.disabled='disabled';
		return false;
	}
	
	var rut = arrRut[0];
	var dvIn = arrRut[1];
	

	count2 = rut.length - 1;
	while(count < rut.length) 
	{

		sum = factor * (parseInt(rut.substr(count2,1)));
		suma = suma + sum;
		sum = 0;

		count = count + 1;
		count2 = count2 - 1;
		factor = factor + 1;

		if(factor > 7){factor=2;}

	}
	digito = 11 - (suma % 11);

	if (digito == 11){digito = 0;}
	if (digito == 10) {digito = "k";}
	//form.dig.value = digito;
	
	if(digito==dvIn)
	{
		document.getElementById('Verificacion').innerHTML="<span class='textoAzul'>Rut OK</span>";
		document.form1.Submit.disabled='';
	}
	else
	{
		document.getElementById('Verificacion').innerHTML="<span class='TextoChicoDestacado'>Rut Erroneo</span>";
		document.form1.Submit.disabled='disabled';
	}
}
</script>

</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FBFBFB">
    <tr>
      <td class="TextoNormal"><div align="center" class="TituloChico">ingresar nuevo rut </div></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td align="center"><input name="NewRut" type="text" class="CampoTextoFecha" id="NewRut" onkeyup="ValRut(this.value);" value="" maxlength="10" />
      <input type="submit" name="Submit" value="Guardar" disabled="disabled" />&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="button" name="Submit2" value="Cerrar" /></td>
    </tr>
    <tr>
      <td align="center" id="Verificacion">&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>
 
Antiguo 02/03/2007, 14:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: validar rut

Código:
var VALIDAR = {
   alfanumerico: function(input){
      var find = new RegExp(/^\w{1,}$/);
      if(!find.test(input))return(false);
      return true;
      
   },
   email: function(input){
      input = input.replace(";",",");
      var listcorreo = input.split(",");
      for (i=0; i < listcorreo.length; i++)if( listcorreo[i].search(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/ig) )return (false);
      return true;
   },
   
   getDV: function(input){
      var M=0,S=1;for(;input;input=Math.floor(input/10))
      S=(S+input%10*(9-M++%6))%11;return S?S-1:'K';
   },
   
   rut: function(input){
      var find = new RegExp(/^(\d{1,8})-([K|0-9])$/);
      if(find.test(input)) {
            var M=0,S=1,T=RegExp.$1;
            for(;T;T=Math.floor(T/10))
            S=(S+T%10*(9-M++%6))%11;
            return ((S?S-1:'K') == RegExp.$2 ? true : false);
      }else{
            return false;
      }
      return true;
   },
   
   numero: function(input){
      var find = new RegExp(/^(?:\+|-)?\d+\.\d*$/);
      if(!find.test(input))return(false);
      return true;
   },
   
   entero: function(input){
      var find = new RegExp(/^(?:\+|-)?\d+$/);
      if(!find.test(input))return(false);
      return true;
   },
   
   real: function(input){
      var find = new RegExp(/^(?:\+|-)?\d+[\.|,]\d*$/);
      if(!find.test(input))return(false);
      return true;
      
   },
   
   hora: function(input){
      var find = new RegExp(/^(0[0-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$/);
      if(!find.test(input))return(false);
      return true;
      
   },
   
   fecha: function(input){
      var find = new RegExp(/^([0-9]{2})(-|\/)([0-9]{2})(-|\/)([0-9]{4})$/);
      var borrar = "";
      if(find.test(input)){   
         borrar = input;
         if((input.substr(2,1) == "-") && (input.substr(5,1) == "-")){     
               for(i=0; i<10; i++){
           if(((input.substr(i,1)<"0") || (input.substr(i,1)>"9")) && (i != 2) && (i != 5)){
             borrar = "";
             break; 
                  } 
         }
            if(borrar){
               a = input.substr(6,4);
               m = input.substr(3,2);
               d = input.substr(0,2);
               if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31)){
                  borrar = "";
               }else{
                  if((a%4 != 0) && (m == 2) && (d > 28)){
                     borrar = ""; // Año no viciesto y es febrero y el dia es mayor a 28
                  }else{
                     if((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29))){
                        borrar = "";
                     }
                  }
               }
            }
         }
      }
      if (borrar == ""){
         return false;
      }else{
         return true;
      }
   }
   
}
Para validar el rut en esta pequeña clase, debes hacerlo de la siguiente manera:
Código:
<script type="text/javascript">
  var campoRUT = document.getElementById("txtRUT");
  campoRUT.validar = function(){
     if(!VALIDAR.rut(this.value)){
        throw (new String("El campo RUT no es válido"));
     }
     return true;
  }

  function formulario_submit(){
     try{
        campoRUT.validar();
        // Sentencias ...... 
     }catch(ex){
       alert(ex);
     }
  }
</script>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta



La zona horaria es GMT -6. Ahora son las 09:22.