Foros del Web » Programando para Internet » Javascript »

Problemas Con Validar Rut

Estas en el tema de Problemas Con Validar Rut en el foro de Javascript en Foros del Web. TENGO UN PEKEÑO PROBLEMA CON VALIDAR EL RUT, YA KE ME ENVIA UN ERROR, PERO AUN ASI ME FUNCIONA, EL ERROR KE ME GENERA ES. ...
  #1 (permalink)  
Antiguo 17/01/2006, 07:22
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 18 años, 4 meses
Puntos: 0
Problemas Con Validar Rut

TENGO UN PEKEÑO PROBLEMA CON VALIDAR EL RUT, YA KE ME ENVIA UN ERROR, PERO AUN ASI ME FUNCIONA, EL ERROR KE ME GENERA ES. DEBO MECIONAR KE EN LA CABECERA DE MI FORMULARIO NO POSEO NINGUN CAMPO HIDDEN


'document.forms.rut_validar_hidden' es nulo o no es un objeto



Código HTML:
<script>/*<--valida rut--->*/
function checkRutField(rut)
{
	var tmpstr = "";
	for ( i=0; i < rut.length ; i++ )
		if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' )
			tmpstr = tmpstr + rut.charAt(i);
	rut = tmpstr;
	largo = rut.length;
	tmpstr = "";
	for ( i=0; rut.charAt(i) == '0' ; i++ );
		for (; i < rut.length ; i++ )
			tmpstr = tmpstr + rut.charAt(i);
	rut = tmpstr;
	largo = rut.length;

	if ( largo < 2 )
	{
		alert("Rut Incorrecto");
 		document.forms[0].rut.focus();
  	document.forms[0].rut.select();
		return false;
	}
	for (i=0; i < largo ; i++ )
	{
		if ( rut.charAt(i) != "0" && rut.charAt(i) != "1" && rut.charAt(i) !="2" && rut.charAt(i) != "3" && rut.charAt(i) != "4" && rut.charAt(i) !="5" && rut.charAt(i) != "6" && rut.charAt(i) != "7" && rut.charAt(i) !="8" && rut.charAt(i) != "9" && rut.charAt(i) !="k" && rut.charAt(i) != "K" )
		{
			alert("Rut Incorrecto");
	  	document.forms[0].rut.focus();
  		document.forms[0].rut.select();
			return false;
		}
	}
	var invertido = "";
	for ( i=(largo-1),j=0; i>=0; i--,j++ )
		invertido = invertido + rut.charAt(i);
	var drut = "";
	drut = drut + invertido.charAt(0);
	drut = drut + '-';
	cnt = 0;
	for ( i=1,j=2; i<largo; i++,j++ )
	{
		if ( cnt == 3 )
		{
			drut = drut + '.';
			j++;
			drut = drut + invertido.charAt(i);
			cnt = 1;
		}
		else
		{
			drut = drut + invertido.charAt(i);
			cnt++;
		}
	}
	invertido = "";
	for ( i=(drut.length-1),j=0; i>=0; i--,j++ )
		invertido = invertido + drut.charAt(i);
	document.forms[0].Rut_Proveedor.value = invertido;
	if ( checkDV(rut) )
	{ return true;}
	return false;
}
function checkDV( crut )
{
	largo = crut.length;
	if ( largo < 2 )
	{
		alert("Rut Incorrecto");
		document.forms[0].rut.focus();
		document.forms[0].rut.select();
		return false;
	}
	if ( largo > 2 )
		rut = crut.substring(0, largo - 1);
	else
		rut = crut.charAt(0);
	dv = crut.charAt(largo-1);
	checkCDV( 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("Rut Incorrecto");
		document.forms[0].Rut_Proveedor.value = "";
		document.forms[0].Rut_Proveedor.focus();
   	document.forms[0].Rut_Proveedor.select();
		return false;	
	}
	else
	{ return true;
	 }
/* return true; */
}
function checkCDV( 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.");
		document.forms[0].Rut_Proveedor.focus();
		document.forms[0].Rut_Proveedor.select();
		return false;
	}
	return true;
}
/*----- Contador de caracteres -------------------*/ 
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = field.value.length ;
}
</script>


</head>

<link href="Estilos/equipos.css" rel="stylesheet" type="text/css">

<body bgcolor="#E2E2E2">
<form name="Ingresa" action="Procesar.php"  method="post" >
  <table width="629" border="0" cellpadding="0" cellspacing="0" class="checkbox"> 
Código HTML:
 <input name="Rut_Proveedor" type="text" onBlur="javascript:if (checkRutField(document.forms[0].Rut_Proveedor.value)) {document.forms[0].rut_validar_hidden.value='S';document.forms[0].clave.focus();}"  size="0" maxlength="12"></td> 
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 13:37.