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...
  #1 (permalink)  
Antiguo 17/07/2003, 08:04
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 20 años, 9 meses
Puntos: 0
Pregunta validar rut

necesito validar el rut en javascript si alguien me puede ayudar plis
  #2 (permalink)  
Antiguo 17/07/2003, 09:13
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola, perdon por mi ignorancia pero que es el "rut" un numero?, documento o algo asi?
  #3 (permalink)  
Antiguo 17/07/2003, 09:57
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 20 años, 9 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
  #4 (permalink)  
Antiguo 17/07/2003, 10:00
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 23 años, 2 meses
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?"
  #5 (permalink)  
Antiguo 17/07/2003, 10:34
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 20 años, 9 meses
Puntos: 0
exacto eso es ("bingo")
  #6 (permalink)  
Antiguo 17/07/2003, 10:36
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 22 años, 3 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....
  #7 (permalink)  
Antiguo 17/07/2003, 11:03
 
Fecha de Ingreso: julio-2003
Ubicación: viña del mar
Mensajes: 16
Antigüedad: 20 años, 9 meses
Puntos: 0
si, si sirve lo acabo de probar muchas gracias Tx
  #8 (permalink)  
Antiguo 02/03/2007, 12:14
 
Fecha de Ingreso: octubre-2005
Mensajes: 95
Antigüedad: 18 años, 6 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>
  #9 (permalink)  
Antiguo 02/03/2007, 14:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
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 11:30.