Foros del Web » Programando para Internet » PHP »

validar rut en php dentro script.

Estas en el tema de validar rut en php dentro script. en el foro de PHP en Foros del Web. Hola he visto distintas funciones para validar el rut en este mismo foro pero no me han servido. El problema es el siguiente: Tengo un ...
  #1 (permalink)  
Antiguo 04/04/2008, 10:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta validar rut en php dentro script.

Hola he visto distintas funciones para validar el rut en este mismo foro pero no me han servido. El problema es el siguiente:
Tengo un archivo html con un fomulario en donde ya he validado el ingreso de los datos y el mail pero no puedo validar el rut:
El codigo es el siguiente:
<script language="javascript">
function checar()
{
with (document.forms['microsano'])
{
if(nombre.value=="")
{
alert("Escriba el nombre");
return false;
}
else if(correo.value=="")
{
alert("Escriba el correo");
return false;
}
else if (correo.value.indexOf('@', 0) == -1 ||
correo.value.indexOf('.', 0) == -1)
{
alert("Dirección de e-mail inválida");
return false;
}
else if(rut.value=="")
{
alert("Escriba el rut");
return false;
}
else
return true
}
}
</script>
<!--name indica el nombre del formulario -->
<!--action el archivo al cual se enviaran los datos del formulario-->
<!--method forma de enviar los datos-->
<form name="microsano" action="Christian2.php" method="get" onsubmit="return checar();">

<center>
<table width="200" border="1" cellpadding="1" cellspacing="0" bordercolor="#000000" bgcolor="#CCCC00">

<tr>
<td><div align="center"><span class="Estilo1">Nombre:</span></div></td>
<td><input type="text" name="nombre" value=""/></td>
</tr>

<tr>
<td class="Estilo1"><div align="center">Edad:</div></td>
<td>
<div align="center">
<select name="edad">
<option value="0-10"selected="selected">0-10 años</option>
<option value="11-20">11-20 años</option>
<option value="21-30">21-30 años</option>
<option value="31-40">31-40 años</option>
<option value="41-50">41-50 años</option>
<option value="51-60">51-60 años</option>
<option value="61-70">61-70 años</option>
<option value="71-80">71-80 años</option>
<option value="81-90">81-90 años</option>
<option value="91-100">91-100 años</option>
</select>
</div></td>
</tr>

<tr>
<td class="Estilo1"><div align="center">Correo:</div></td>
<td><input type="text" name="correo" value=""/></td>
</tr>

<tr>
<td class="Estilo1"><div align="center">Rut:</div></td>
<td><input type="text" name="rut" value=""/></td>
</tr>

<tr>
<td colspan="2"><div align="center">
<input name="submit" type="submit" value="Enviar" />
</div>
</tr>

</table>
</center>
</form>
Todo funciona de maravilla pero como dije anteriormente no he podido validar el rut y me gustaria hacerlo dentro de la funcion checar, si alguien me pudiera ayudar se lo agradeceria bastante.
  #2 (permalink)  
Antiguo 04/04/2008, 11:21
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Re: validar rut en php dentro script.

Saludos.

PAra validar el rut podria utilizar la siguiente funcion......

Cita:

//
// Validador de Rut
// Descargado desde http://www.juque.cl/
//
function revisarDigito( dvr )
{
dv = dvr + ""
if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k' && dv != 'K')
{
alert("Debe ingresar un digito verificador valido");
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
return true;
}

function revisarDigito2( crut )
{
largo = crut.length;
if ( largo < 2 )
{
alert("Debe ingresar el rut completo")
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
if ( largo > 2 )
rut = crut.substring(0, largo - 1);
else
rut = crut.charAt(0);
dv = crut.charAt(largo-1);
revisarDigito( dv );

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 es incorrecto")
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false
}

return true
}

function Rut(texto)
{
var tmpstr = "";
for ( i=0; i < texto.length ; i++ )
if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
tmpstr = tmpstr + texto.charAt(i);
texto = tmpstr;
largo = texto.length;

if ( largo < 2 )
{
alert("Debe ingresar el rut completo")
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}

for (i=0; i < largo ; i++ )
{
if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
{
alert("El valor ingresado no corresponde a un R.U.T valido");
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
}

var invertido = "";
for ( i=(largo-1),j=0; i>=0; i--,j++ )
invertido = invertido + texto.charAt(i);
var dtexto = "";
dtexto = dtexto + invertido.charAt(0);
dtexto = dtexto + '-';
cnt = 0;

for ( i=1,j=2; i<largo; i++,j++ )
{
//alert("i=[" + i + "] j=[" + j +"]" );
if ( cnt == 3 )
{
dtexto = dtexto + '.';
j++;
dtexto = dtexto + invertido.charAt(i);
cnt = 1;
}
else
{
dtexto = dtexto + invertido.charAt(i);
cnt++;
}
}

invertido = "";
for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
invertido = invertido + dtexto.charAt(i);

window.document.form1.rut.value = invertido.toUpperCase()

if ( revisarDigito2(texto) )
return true;

return false;
}
Espero sea lo que buscabas .

Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 04/04/2008, 11:27
 
Fecha de Ingreso: marzo-2008
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: validar rut en php dentro script.

ya trate de utilizar pero es una javascript y yo estoy trabajando con php y al parecer no aguanta este algoritmo, te doy las gracias pero a lo habia intentado...

Gracias
  #4 (permalink)  
Antiguo 04/04/2008, 11:39
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Re: validar rut en php dentro script.

Saludos...

La función como tal no la e probado pero de igual forma, deberias "caharrearle" un poco mas ya que veo que no tiene mayor ciencia.. De igual forma mira este link Aca . La misma funcionalidad pero con php.

Hasta Pronto.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 04/04/2008, 11:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: validar rut en php dentro script.

Mas alla de que funcion el codigo, lo que me interes es ingresarlos dentro de la funcion checar para que arroje un mensaje de alerta indicando que el rut no es valido, estoy de acuerdo en que no tiene mayor ciencia pero no he podido lograrlo y al parecer hemos estado viendo las mismas paginas.
De cualquier forma te doy las gracias por ayudarme.
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 10:28.