🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: chile.comp.programacion
10 messages
10 total messages Started by Rickoj Fri, 07 Mar 2008 01:41
ayuda con validar rut
#532
Author: Rickoj
Date: Fri, 07 Mar 2008 01:41
33 lines
1882 bytes
necesito validar el dichoso rut en un mismo campo de texto con el guion, he 
encontrado varios script qu ehacen lo mismo, pero al aplicarlo no me 
funciona, encontre este que es mas sencillo, pero lo hace en dos campos de 
textos, y lo hace automatico (el digito verificador)

el script

<script language="javascript" type="text/javascript">
<!--

function Text1_onclick() {
    rut = document.getElementById('rut').value;
    document.getElementById('dv').value = dv(rut);
}
function dv(T){var M=0,S=1;for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;return S?S-1:'k';}
// -->
</script>

la llamada

<body>
    <input id="rut" type="text" language="javascript" onclick="return 
Text1_onclick()" onkeyup="return Text1_onclick()"  />
    <input id="dv" style="width: 18px" type="text" />

</body>

alguna posibilidad de dejarlo con este mismo script (que es mas sencillo) 
pero que verifique lo escrito antes y despues del -
que no sea lesear con chartat, en demasia?

Saludos
Re: ayuda con validar rut
#539
Author: Rickoj
Date: Tue, 11 Mar 2008 13:46
10 lines
1428 bytes
"Rick_oj" <rick_oj[sin-esto]@tutopia.com> escribi� en el mensaje 
news:fqq6gv$uj2$1@news.nivel5.cl...
> necesito validar el dichoso rut en un mismo campo de texto con el guion, 
> he encontrado varios script qu ehacen lo mismo, pero al aplicarlo no me 
> funciona, encontre este que es mas sencillo, pero lo hace en dos campos de 
> textos, y lo hace automatico (el digito verificador)

nadie?
 :( 
Re: ayuda con validar rut
#543
Author: gato2008chile
Date: Wed, 12 Mar 2008 02:13
108 lines
3937 bytes
En VB hice uso de dos eventos y funciones, una validaba el formato y 
otra el digito.
chRut valida el formato, debe ser de la forma 123456-7,solo permite el 
ingreso de numeros y "-", verifica que si el caracter es ingresado es 
"-" este en la posicion largo-1,etc.

En el evento change
txtRut.Text = chRut(txtRut.Text)
txtRut.SelStart = Len(txtRut.Text)

En el evento keypress

txtRut.Text = chRut(txtRut.Text)
If KeyAscii = 13 Then
ValRut(texto1.text)
End If



Public Function ValRut(ByVal cadena As String) As Boolean
Dim ln As Integer, tp As Integer, i As Integer, _
j As Integer, sum As Integer, ctemp As String

ln = Len(cadena)
If ln < 3 Then
     ValRut = False
ElseIf ln >= 3 Then
     tp = InStr(1, cadena, "-", vbTextCompare)
     If tp = 0 Then
         ValRut = False
     ElseIf tp <> (ln - 1) Then
         ValRut = False
     Else
         sum = 0
         j = 2
         For i = (tp - 1) To 1 Step -1
             st = Val(Mid(cadena, i, 1))
             If st >= 0 And st <= 9 Then
                 sum = sum + st * j
                 j = j + 1
                 If j = 8 Then
                     j = 2
                 End If
             Else
                 ValRut = False
                 Exit Function
             End If
         Next
         dv = sum Mod 11
         ctemp = Mid(cadena, ln, 1)
         If dv = 0 Then
             If ctemp = "k" Or ctemp = "K" Then
                 ValRut = True
             Else
                 ValRut = False
             End If
         Else

             If (11 - dv) = Val(ctemp) Then
                 ValRut = True
             Else
                 ValRut = False
             End If
         End If
     End If
End If
End Function


Public Function chRut(ByVal cadena As String) As String
Dim ln As Integer
Dim pos As Integer
Dim cs As Integer
Dim cadt As String

ln = Len(cadena)
pos = InStr(cadena, "-")
If pos = 0 Then
     chRut = IIf(Val(cadena) = 0, "", Format(Val(cadena)))
ElseIf pos <= 4 Then
     chRut = ""
ElseIf pos = ln Then
     chRut = Format(Val(Left(cadena, ln - 1))) & "-"
ElseIf pos <= (ln - 1) Then
     cadt = Left(cadena, pos + 1)
     cs = Asc(Right(cadt, 1))
     If ((cs < 48 Or cs > 57) And cs <> 13) _
         And cs <> 45 Then
             chRut = Left(cadt, ln - 1)
     Else
             chRut = cadt
     End If
End If
End Function


Rick_oj escribi�:
> 
> "Rick_oj" <rick_oj[sin-esto]@tutopia.com> escribi� en el mensaje 
> news:fqq6gv$uj2$1@news.nivel5.cl...
>> necesito validar el dichoso rut en un mismo campo de texto con el 
>> guion, he encontrado varios script qu ehacen lo mismo, pero al 
>> aplicarlo no me funciona, encontre este que es mas sencillo, pero lo 
>> hace en dos campos de textos, y lo hace automatico (el digito 
>> verificador)
> 
> nadie?
> :(
Re: ayuda con validar rut
#547
Author: Mauricio Gomez
Date: Wed, 12 Mar 2008 02:52
267 lines
7805 bytes
Cual es el problema? que no te funciona o queda feo con muchos charat()?

Pagina:

http://www.juque.cl/demos/validador.rut.javascript/


Codigo:

//
// 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;
}

rro


Rick_oj wrote:
> vale pero no me sirve en vb
> :(
> 
> "gato2008chile" <gato2008chileSINESTO@gmail.com> escribi� en el mensaje 
> news:fr7ao1$d1s$1@news.nivel5.cl...
>> En VB hice uso de dos eventos y funciones, una validaba el formato y otra 
>> el digito.
>> chRut valida el formato, debe ser de la forma 123456-7,solo permite el 
>> ingreso de numeros y "-", verifica que si el caracter es ingresado es "-" 
>> este en la posicion largo-1,etc.
>>
>> En el evento change
>> txtRut.Text = chRut(txtRut.Text)
>> txtRut.SelStart = Len(txtRut.Text)
>>
>> En el evento keypress
>>
>> txtRut.Text = chRut(txtRut.Text)
>> If KeyAscii = 13 Then
>> ValRut(texto1.text)
>> End If
>>
>>
>>
>> Public Function ValRut(ByVal cadena As String) As Boolean
>> Dim ln As Integer, tp As Integer, i As Integer, _
>> j As Integer, sum As Integer, ctemp As String
>>
>> ln = Len(cadena)
>> If ln < 3 Then
>>     ValRut = False
>> ElseIf ln >= 3 Then
>>     tp = InStr(1, cadena, "-", vbTextCompare)
>>     If tp = 0 Then
>>         ValRut = False
>>     ElseIf tp <> (ln - 1) Then
>>         ValRut = False
>>     Else
>>         sum = 0
>>         j = 2
>>         For i = (tp - 1) To 1 Step -1
>>             st = Val(Mid(cadena, i, 1))
>>             If st >= 0 And st <= 9 Then
>>                 sum = sum + st * j
>>                 j = j + 1
>>                 If j = 8 Then
>>                     j = 2
>>                 End If
>>             Else
>>                 ValRut = False
>>                 Exit Function
>>             End If
>>         Next
>>         dv = sum Mod 11
>>         ctemp = Mid(cadena, ln, 1)
>>         If dv = 0 Then
>>             If ctemp = "k" Or ctemp = "K" Then
>>                 ValRut = True
>>             Else
>>                 ValRut = False
>>             End If
>>         Else
>>
>>             If (11 - dv) = Val(ctemp) Then
>>                 ValRut = True
>>             Else
>>                 ValRut = False
>>             End If
>>         End If
>>     End If
>> End If
>> End Function
>>
>>
>> Public Function chRut(ByVal cadena As String) As String
>> Dim ln As Integer
>> Dim pos As Integer
>> Dim cs As Integer
>> Dim cadt As String
>>
>> ln = Len(cadena)
>> pos = InStr(cadena, "-")
>> If pos = 0 Then
>>     chRut = IIf(Val(cadena) = 0, "", Format(Val(cadena)))
>> ElseIf pos <= 4 Then
>>     chRut = ""
>> ElseIf pos = ln Then
>>     chRut = Format(Val(Left(cadena, ln - 1))) & "-"
>> ElseIf pos <= (ln - 1) Then
>>     cadt = Left(cadena, pos + 1)
>>     cs = Asc(Right(cadt, 1))
>>     If ((cs < 48 Or cs > 57) And cs <> 13) _
>>         And cs <> 45 Then
>>             chRut = Left(cadt, ln - 1)
>>     Else
>>             chRut = cadt
>>     End If
>> End If
>> End Function
>>
>>
>> Rick_oj escribi�:
>>> "Rick_oj" <rick_oj[sin-esto]@tutopia.com> escribi� en el mensaje 
>>> news:fqq6gv$uj2$1@news.nivel5.cl...
>>>> necesito validar el dichoso rut en un mismo campo de texto con el guion, 
>>>> he encontrado varios script qu ehacen lo mismo, pero al aplicarlo no me 
>>>> funciona, encontre este que es mas sencillo, pero lo hace en dos campos 
>>>> de textos, y lo hace automatico (el digito verificador)
>>> nadie?
>>> :( 
> 
> 
Re: ayuda con validar rut
#546
Author: Rickoj
Date: Wed, 12 Mar 2008 03:23
112 lines
4141 bytes
vale pero no me sirve en vb
:(

"gato2008chile" <gato2008chileSINESTO@gmail.com> escribi� en el mensaje 
news:fr7ao1$d1s$1@news.nivel5.cl...
> En VB hice uso de dos eventos y funciones, una validaba el formato y otra 
> el digito.
> chRut valida el formato, debe ser de la forma 123456-7,solo permite el 
> ingreso de numeros y "-", verifica que si el caracter es ingresado es "-" 
> este en la posicion largo-1,etc.
>
> En el evento change
> txtRut.Text = chRut(txtRut.Text)
> txtRut.SelStart = Len(txtRut.Text)
>
> En el evento keypress
>
> txtRut.Text = chRut(txtRut.Text)
> If KeyAscii = 13 Then
> ValRut(texto1.text)
> End If
>
>
>
> Public Function ValRut(ByVal cadena As String) As Boolean
> Dim ln As Integer, tp As Integer, i As Integer, _
> j As Integer, sum As Integer, ctemp As String
>
> ln = Len(cadena)
> If ln < 3 Then
>     ValRut = False
> ElseIf ln >= 3 Then
>     tp = InStr(1, cadena, "-", vbTextCompare)
>     If tp = 0 Then
>         ValRut = False
>     ElseIf tp <> (ln - 1) Then
>         ValRut = False
>     Else
>         sum = 0
>         j = 2
>         For i = (tp - 1) To 1 Step -1
>             st = Val(Mid(cadena, i, 1))
>             If st >= 0 And st <= 9 Then
>                 sum = sum + st * j
>                 j = j + 1
>                 If j = 8 Then
>                     j = 2
>                 End If
>             Else
>                 ValRut = False
>                 Exit Function
>             End If
>         Next
>         dv = sum Mod 11
>         ctemp = Mid(cadena, ln, 1)
>         If dv = 0 Then
>             If ctemp = "k" Or ctemp = "K" Then
>                 ValRut = True
>             Else
>                 ValRut = False
>             End If
>         Else
>
>             If (11 - dv) = Val(ctemp) Then
>                 ValRut = True
>             Else
>                 ValRut = False
>             End If
>         End If
>     End If
> End If
> End Function
>
>
> Public Function chRut(ByVal cadena As String) As String
> Dim ln As Integer
> Dim pos As Integer
> Dim cs As Integer
> Dim cadt As String
>
> ln = Len(cadena)
> pos = InStr(cadena, "-")
> If pos = 0 Then
>     chRut = IIf(Val(cadena) = 0, "", Format(Val(cadena)))
> ElseIf pos <= 4 Then
>     chRut = ""
> ElseIf pos = ln Then
>     chRut = Format(Val(Left(cadena, ln - 1))) & "-"
> ElseIf pos <= (ln - 1) Then
>     cadt = Left(cadena, pos + 1)
>     cs = Asc(Right(cadt, 1))
>     If ((cs < 48 Or cs > 57) And cs <> 13) _
>         And cs <> 45 Then
>             chRut = Left(cadt, ln - 1)
>     Else
>             chRut = cadt
>     End If
> End If
> End Function
>
>
> Rick_oj escribi�:
>>
>> "Rick_oj" <rick_oj[sin-esto]@tutopia.com> escribi� en el mensaje 
>> news:fqq6gv$uj2$1@news.nivel5.cl...
>>> necesito validar el dichoso rut en un mismo campo de texto con el guion, 
>>> he encontrado varios script qu ehacen lo mismo, pero al aplicarlo no me 
>>> funciona, encontre este que es mas sencillo, pero lo hace en dos campos 
>>> de textos, y lo hace automatico (el digito verificador)
>>
>> nadie?
>> :( 
Re: ayuda con validar rut
#549
Author: Rickoj
Date: Wed, 12 Mar 2008 13:37
192 lines
7835 bytes
baje ese de ahi, y no me funciono
voy a revisar nuevamente


"Mauricio Gomez" <pregunte@sileinteresa.com> escribi� en el mensaje 
news:fr7feh$dm2$1@news.nivel5.cl...
> Cual es el problema? que no te funciona o queda feo con muchos charat()?
>
> Pagina:
>
> http://www.juque.cl/demos/validador.rut.javascript/
>
>
> Codigo:
>
> //
> // 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;
> }
>
> rro
>
>
> Rick_oj wrote:
>> vale pero no me sirve en vb
>> :(
>>
>> "gato2008chile" <gato2008chileSINESTO@gmail.com> escribi� en el mensaje 
>> news:fr7ao1$d1s$1@news.nivel5.cl...
>>> En VB hice uso de dos eventos y funciones, una validaba el formato y 
>>> otra el digito.
>>> chRut valida el formato, debe ser de la forma 123456-7,solo permite el 
>>> ingreso de numeros y "-", verifica que si el caracter es ingresado es 
>>> "-" este en la posicion largo-1,etc.
>>>
>>> En el evento change
>>> txtRut.Text = chRut(txtRut.Text)
>>> txtRut.SelStart = Len(txtRut.Text)
>>>
>>> En el evento keypress
>>>
>>> txtRut.Text = chRut(txtRut.Text)
>>> If KeyAscii = 13 Then
>>> ValRut(texto1.text)
>>> End If
>>>
>>>
>>>
>>> Public Function ValRut(ByVal cadena As String) As Boolean
>>> Dim ln As Integer, tp As Integer, i As Integer, _
>>> j As Integer, sum As Integer, ctemp As String
>>>
>>> ln = Len(cadena)
>>> If ln < 3 Then
>>>     ValRut = False
>>> ElseIf ln >= 3 Then
>>>     tp = InStr(1, cadena, "-", vbTextCompare)
>>>     If tp = 0 Then
>>>         ValRut = False
>>>     ElseIf tp <> (ln - 1) Then
>>>         ValRut = False
>>>     Else
>>>         sum = 0
>>>         j = 2
>>>         For i = (tp - 1) To 1 Step -1
>>>             st = Val(Mid(cadena, i, 1))
>>>             If st >= 0 And st <= 9 Then
>>>                 sum = sum + st * j
>>>                 j = j + 1
>>>                 If j = 8 Then
>>>                     j = 2
>>>                 End If
>>>             Else
>>>                 ValRut = False
>>>                 Exit Function
>>>             End If
>>>         Next
>>>         dv = sum Mod 11
>>>         ctemp = Mid(cadena, ln, 1)
>>>         If dv = 0 Then
>>>             If ctemp = "k" Or ctemp = "K" Then
>>>                 ValRut = True
>>>             Else
>>>                 ValRut = False
>>>             End If
>>>         Else
>>>
>>>             If (11 - dv) = Val(ctemp) Then
>>>                 ValRut = True
>>>             Else
>>>                 ValRut = False
>>>             End If
>>>         End If
>>>     End If
>>> End If
>>> End Function
>>>
>>>
>>> Public Function chRut(ByVal cadena As String) As String
>>> Dim ln As Integer
>>> Dim pos As Integer
>>> Dim cs As Integer
>>> Dim cadt As String
>>>
>>> ln = Len(cadena)
>>> pos = InStr(cadena, "-")
>>> If pos = 0 Then
>>>     chRut = IIf(Val(cadena) = 0, "", Format(Val(cadena)))
>>> ElseIf pos <= 4 Then
>>>     chRut = ""
>>> ElseIf pos = ln Then
>>>     chRut = Format(Val(Left(cadena, ln - 1))) & "-"
>>> ElseIf pos <= (ln - 1) Then
>>>     cadt = Left(cadena, pos + 1)
>>>     cs = Asc(Right(cadt, 1))
>>>     If ((cs < 48 Or cs > 57) And cs <> 13) _
>>>         And cs <> 45 Then
>>>             chRut = Left(cadt, ln - 1)
>>>     Else
>>>             chRut = cadt
>>>     End If
>>> End If
>>> End Function
>>>
>>>
>>> Rick_oj escribi�:
>>>> "Rick_oj" <rick_oj[sin-esto]@tutopia.com> escribi� en el mensaje 
>>>> news:fqq6gv$uj2$1@news.nivel5.cl...
>>>>> necesito validar el dichoso rut en un mismo campo de texto con el 
>>>>> guion, he encontrado varios script qu ehacen lo mismo, pero al 
>>>>> aplicarlo no me funciona, encontre este que es mas sencillo, pero lo 
>>>>> hace en dos campos de textos, y lo hace automatico (el digito 
>>>>> verificador)
>>>> nadie?
>>>> :(
>> 
Re: ayuda con validar rut
#555
Author: Alberto Hormazabal C.
Date: Fri, 14 Mar 2008 21:25
144 lines
3843 bytes
Rick_oj visito chile.comp.programacion y balbuceo:
> baje ese de ahi, y no me funciono
> voy a revisar nuevamente

tengo un par de funciones en js pa validar rut, pero no me acuerdo cual de las 2
es la que funciona bien bien.
te dejo otras utiles tambienb

ojala te sirvan

:)



Validador de Rut 1
==================
function validaRut(rut)
{	
	var rutlimpio = "";
	for (i=0; i < rut.length; i++){
		if ((rut.charAt(i)!=".") && (rut.charAt(i)!="-"))
			rutlimpio= rutlimpio + rut.charAt(i);
	}
	rut=rutlimpio;
	var drut=rut.charAt((rut.length-1));
	var dvr='0'
	suma=0
	mul=2
	for (i=rut.length -2 ; 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 != drut.toLowerCase())){
		//alert("El RUT ingresado no es v�lido."); 
		return false;
	}
	return true;
}


Validador Rut 2
===============
function esRutValido(rut)
{
	if(rut.length < 2) return false;
	
	digito=rut.charAt(rut.length-1).toUpperCase();
	cuerpo=rut.substr(0,rut.length-1);
	
	intSuma = 0
	intFactor  = 2
	for (i= (cuerpo.length - 1)  ; i >= 0; i--)
	{
		intSuma = intSuma + cuerpo.charAt(i) * intFactor
		if (intFactor == 7)
		intFactor = 2
		else
		intFactor++
	}
	intResto = intSuma % 11
	if (intResto == 1)
	dvr = 'K'
	else if (intResto == 0)
	dvr = '0'
	else
	{
		dvi = 11 - intResto
		dvr = dvi + ""
	}
	if(dvr == digito)
	{
		return true;
	}
	else
	{
		return false;
	}
}



Otras funciones para RUT
========================


// Desformatea un rut de la forma nnn.nnn.nnn-k
// a la forma nnnnnnnnnk
// acepta tanto puntos, comas, guiones como 
// cualquier otro caracter como separador de
// miles y de digito verificador.
function decodeRut(s)
{
  var rut = "";
  for(i=0;i<s.length;i++)
  {
    a=s.charAt(i);
    if( (a>='0' && a<='9') || a=='k' || a=='K' )
      rut=rut+a;
  }
  return rut;
}



// Agrega el caracter <separador> como 
// separador de miles en el numero <nStr>
function formatNumber(nStr,separador)
{
        nStr += '';
        x = nStr.split('.');
        x1 = x[0];
        x2 = x.length > 1 ? '.' + x[1] : '';
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(x1)) {
                x1 = x1.replace(rgx, '$1' + separador + '$2');
        }               
        return x1 + x2;
}       
        
// Convierte un rut de la forma nnnnnnnnnk a
// la forma nnn.nnn.nnn-k
function toRut(s)
{       
  var dv;       
  var len;      
  len = s.length;       
  dv=s.substr(len-1,1);
  return ( formatNumber(s.substr(0,len-1),'.') + "-" + dv );
} 
-- 
El Tuto
tuto@aalc.lj.cl
Re: ayuda con validar rut
#557
Author: Rickoj
Date: Sun, 16 Mar 2008 00:57
155 lines
4118 bytes
"Alberto Hormazabal C." <tuto@lj.cl> escribi� en el mensaje 
news:47daed3c@news.vcd.cl...
> Rick_oj visito chile.comp.programacion y balbuceo:
>> baje ese de ahi, y no me funciono
>> voy a revisar nuevamente
>
> tengo un par de funciones en js pa validar rut, pero no me acuerdo cual de 
> las 2
> es la que funciona bien bien.
> te dejo otras utiles tambienb
>
> ojala te sirvan
>
> :)


vale te aviso cual me funciono gracias



>
>
>
> Validador de Rut 1
> ==================
> function validaRut(rut)
> {
> var rutlimpio = "";
> for (i=0; i < rut.length; i++){
> if ((rut.charAt(i)!=".") && (rut.charAt(i)!="-"))
> rutlimpio= rutlimpio + rut.charAt(i);
> }
> rut=rutlimpio;
> var drut=rut.charAt((rut.length-1));
> var dvr='0'
> suma=0
> mul=2
> for (i=rut.length -2 ; 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 != drut.toLowerCase())){
> //alert("El RUT ingresado no es v�lido.");
> return false;
> }
> return true;
> }
>
>
> Validador Rut 2
> ===============
> function esRutValido(rut)
> {
> if(rut.length < 2) return false;
>
> digito=rut.charAt(rut.length-1).toUpperCase();
> cuerpo=rut.substr(0,rut.length-1);
>
> intSuma = 0
> intFactor  = 2
> for (i= (cuerpo.length - 1)  ; i >= 0; i--)
> {
> intSuma = intSuma + cuerpo.charAt(i) * intFactor
> if (intFactor == 7)
> intFactor = 2
> else
> intFactor++
> }
> intResto = intSuma % 11
> if (intResto == 1)
> dvr = 'K'
> else if (intResto == 0)
> dvr = '0'
> else
> {
> dvi = 11 - intResto
> dvr = dvi + ""
> }
> if(dvr == digito)
> {
> return true;
> }
> else
> {
> return false;
> }
> }
>
>
>
> Otras funciones para RUT
> ========================
>
>
> // Desformatea un rut de la forma nnn.nnn.nnn-k
> // a la forma nnnnnnnnnk
> // acepta tanto puntos, comas, guiones como
> // cualquier otro caracter como separador de
> // miles y de digito verificador.
> function decodeRut(s)
> {
>  var rut = "";
>  for(i=0;i<s.length;i++)
>  {
>    a=s.charAt(i);
>    if( (a>='0' && a<='9') || a=='k' || a=='K' )
>      rut=rut+a;
>  }
>  return rut;
> }
>
>
>
> // Agrega el caracter <separador> como
> // separador de miles en el numero <nStr>
> function formatNumber(nStr,separador)
> {
>        nStr += '';
>        x = nStr.split('.');
>        x1 = x[0];
>        x2 = x.length > 1 ? '.' + x[1] : '';
>        var rgx = /(\d+)(\d{3})/;
>        while (rgx.test(x1)) {
>                x1 = x1.replace(rgx, '$1' + separador + '$2');
>        }
>        return x1 + x2;
> }
>
> // Convierte un rut de la forma nnnnnnnnnk a
> // la forma nnn.nnn.nnn-k
> function toRut(s)
> {
>  var dv;
>  var len;
>  len = s.length;
>  dv=s.substr(len-1,1);
>  return ( formatNumber(s.substr(0,len-1),'.') + "-" + dv );
> }
> -- 
> El Tuto
> tuto@aalc.lj.cl
> 
Re: ayuda con validar rut
#559
Author: catfart
Date: Sun, 16 Mar 2008 20:29
158 lines
4411 bytes
wena llevai mas de una semana y con toda la ayuda todavia no lo sacas


Rick_oj escribi�:
> "Alberto Hormazabal C." <tuto@lj.cl> escribi� en el mensaje 
> news:47daed3c@news.vcd.cl...
>> Rick_oj visito chile.comp.programacion y balbuceo:
>>> baje ese de ahi, y no me funciono
>>> voy a revisar nuevamente
>> tengo un par de funciones en js pa validar rut, pero no me acuerdo cual de 
>> las 2
>> es la que funciona bien bien.
>> te dejo otras utiles tambienb
>>
>> ojala te sirvan
>>
>> :)
> 
> 
> vale te aviso cual me funciono gracias
> 
> 
> 
>>
>>
>> Validador de Rut 1
>> ==================
>> function validaRut(rut)
>> {
>> var rutlimpio = "";
>> for (i=0; i < rut.length; i++){
>> if ((rut.charAt(i)!=".") && (rut.charAt(i)!="-"))
>> rutlimpio= rutlimpio + rut.charAt(i);
>> }
>> rut=rutlimpio;
>> var drut=rut.charAt((rut.length-1));
>> var dvr='0'
>> suma=0
>> mul=2
>> for (i=rut.length -2 ; 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 != drut.toLowerCase())){
>> //alert("El RUT ingresado no es v�lido.");
>> return false;
>> }
>> return true;
>> }
>>
>>
>> Validador Rut 2
>> ===============
>> function esRutValido(rut)
>> {
>> if(rut.length < 2) return false;
>>
>> digito=rut.charAt(rut.length-1).toUpperCase();
>> cuerpo=rut.substr(0,rut.length-1);
>>
>> intSuma = 0
>> intFactor  = 2
>> for (i= (cuerpo.length - 1)  ; i >= 0; i--)
>> {
>> intSuma = intSuma + cuerpo.charAt(i) * intFactor
>> if (intFactor == 7)
>> intFactor = 2
>> else
>> intFactor++
>> }
>> intResto = intSuma % 11
>> if (intResto == 1)
>> dvr = 'K'
>> else if (intResto == 0)
>> dvr = '0'
>> else
>> {
>> dvi = 11 - intResto
>> dvr = dvi + ""
>> }
>> if(dvr == digito)
>> {
>> return true;
>> }
>> else
>> {
>> return false;
>> }
>> }
>>
>>
>>
>> Otras funciones para RUT
>> ========================
>>
>>
>> // Desformatea un rut de la forma nnn.nnn.nnn-k
>> // a la forma nnnnnnnnnk
>> // acepta tanto puntos, comas, guiones como
>> // cualquier otro caracter como separador de
>> // miles y de digito verificador.
>> function decodeRut(s)
>> {
>>  var rut = "";
>>  for(i=0;i<s.length;i++)
>>  {
>>    a=s.charAt(i);
>>    if( (a>='0' && a<='9') || a=='k' || a=='K' )
>>      rut=rut+a;
>>  }
>>  return rut;
>> }
>>
>>
>>
>> // Agrega el caracter <separador> como
>> // separador de miles en el numero <nStr>
>> function formatNumber(nStr,separador)
>> {
>>        nStr += '';
>>        x = nStr.split('.');
>>        x1 = x[0];
>>        x2 = x.length > 1 ? '.' + x[1] : '';
>>        var rgx = /(\d+)(\d{3})/;
>>        while (rgx.test(x1)) {
>>                x1 = x1.replace(rgx, '$1' + separador + '$2');
>>        }
>>        return x1 + x2;
>> }
>>
>> // Convierte un rut de la forma nnnnnnnnnk a
>> // la forma nnn.nnn.nnn-k
>> function toRut(s)
>> {
>>  var dv;
>>  var len;
>>  len = s.length;
>>  dv=s.substr(len-1,1);
>>  return ( formatNumber(s.substr(0,len-1),'.') + "-" + dv );
>> }
>> -- 
>> El Tuto
>> tuto@aalc.lj.cl
>>
> 
> 
Re: ayuda con validar rut
#609
Author: Rickoj
Date: Thu, 27 Mar 2008 01:52
165 lines
4895 bytes
ahahahah es ke lo del rut lo deje de ultimo arregle cosas mas importantes y 
funciono asi (tenia mas cosas que hacer)
y salio todo bien, solo hubo errores de digitacion por lo del rut como 2 
veces no mas


"catfart" <me@here.com> escribi� en el mensaje 
news:frjvu5$4tf$1@news.nivel5.cl...
> wena llevai mas de una semana y con toda la ayuda todavia no lo sacas
>
>
> Rick_oj escribi�:
>> "Alberto Hormazabal C." <tuto@lj.cl> escribi� en el mensaje 
>> news:47daed3c@news.vcd.cl...
>>> Rick_oj visito chile.comp.programacion y balbuceo:
>>>> baje ese de ahi, y no me funciono
>>>> voy a revisar nuevamente
>>> tengo un par de funciones en js pa validar rut, pero no me acuerdo cual 
>>> de las 2
>>> es la que funciona bien bien.
>>> te dejo otras utiles tambienb
>>>
>>> ojala te sirvan
>>>
>>> :)
>>
>>
>> vale te aviso cual me funciono gracias
>>
>>
>>
>>>
>>>
>>> Validador de Rut 1
>>> ==================
>>> function validaRut(rut)
>>> {
>>> var rutlimpio = "";
>>> for (i=0; i < rut.length; i++){
>>> if ((rut.charAt(i)!=".") && (rut.charAt(i)!="-"))
>>> rutlimpio= rutlimpio + rut.charAt(i);
>>> }
>>> rut=rutlimpio;
>>> var drut=rut.charAt((rut.length-1));
>>> var dvr='0'
>>> suma=0
>>> mul=2
>>> for (i=rut.length -2 ; 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 != drut.toLowerCase())){
>>> //alert("El RUT ingresado no es v�lido.");
>>> return false;
>>> }
>>> return true;
>>> }
>>>
>>>
>>> Validador Rut 2
>>> ===============
>>> function esRutValido(rut)
>>> {
>>> if(rut.length < 2) return false;
>>>
>>> digito=rut.charAt(rut.length-1).toUpperCase();
>>> cuerpo=rut.substr(0,rut.length-1);
>>>
>>> intSuma = 0
>>> intFactor  = 2
>>> for (i= (cuerpo.length - 1)  ; i >= 0; i--)
>>> {
>>> intSuma = intSuma + cuerpo.charAt(i) * intFactor
>>> if (intFactor == 7)
>>> intFactor = 2
>>> else
>>> intFactor++
>>> }
>>> intResto = intSuma % 11
>>> if (intResto == 1)
>>> dvr = 'K'
>>> else if (intResto == 0)
>>> dvr = '0'
>>> else
>>> {
>>> dvi = 11 - intResto
>>> dvr = dvi + ""
>>> }
>>> if(dvr == digito)
>>> {
>>> return true;
>>> }
>>> else
>>> {
>>> return false;
>>> }
>>> }
>>>
>>>
>>>
>>> Otras funciones para RUT
>>> ========================
>>>
>>>
>>> // Desformatea un rut de la forma nnn.nnn.nnn-k
>>> // a la forma nnnnnnnnnk
>>> // acepta tanto puntos, comas, guiones como
>>> // cualquier otro caracter como separador de
>>> // miles y de digito verificador.
>>> function decodeRut(s)
>>> {
>>>  var rut = "";
>>>  for(i=0;i<s.length;i++)
>>>  {
>>>    a=s.charAt(i);
>>>    if( (a>='0' && a<='9') || a=='k' || a=='K' )
>>>      rut=rut+a;
>>>  }
>>>  return rut;
>>> }
>>>
>>>
>>>
>>> // Agrega el caracter <separador> como
>>> // separador de miles en el numero <nStr>
>>> function formatNumber(nStr,separador)
>>> {
>>>        nStr += '';
>>>        x = nStr.split('.');
>>>        x1 = x[0];
>>>        x2 = x.length > 1 ? '.' + x[1] : '';
>>>        var rgx = /(\d+)(\d{3})/;
>>>        while (rgx.test(x1)) {
>>>                x1 = x1.replace(rgx, '$1' + separador + '$2');
>>>        }
>>>        return x1 + x2;
>>> }
>>>
>>> // Convierte un rut de la forma nnnnnnnnnk a
>>> // la forma nnn.nnn.nnn-k
>>> function toRut(s)
>>> {
>>>  var dv;
>>>  var len;
>>>  len = s.length;
>>>  dv=s.substr(len-1,1);
>>>  return ( formatNumber(s.substr(0,len-1),'.') + "-" + dv );
>>> }
>>> -- 
>>> El Tuto
>>> tuto@aalc.lj.cl
>>>
>> 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads