Thread View: chile.comp.programacion
10 messages
10 total messages
Started by Rickoj
Fri, 07 Mar 2008 01:41
ayuda con validar rut
Author: Rickoj
Date: Fri, 07 Mar 2008 01:41
Date: Fri, 07 Mar 2008 01:41
33 lines
1882 bytes
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
Author: Rickoj
Date: Tue, 11 Mar 2008 13:46
Date: Tue, 11 Mar 2008 13:46
10 lines
1428 bytes
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
Author: gato2008chile
Date: Wed, 12 Mar 2008 02:13
Date: Wed, 12 Mar 2008 02:13
108 lines
3937 bytes
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
Author: Mauricio Gomez
Date: Wed, 12 Mar 2008 02:52
Date: Wed, 12 Mar 2008 02:52
267 lines
7805 bytes
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
Author: Rickoj
Date: Wed, 12 Mar 2008 03:23
Date: Wed, 12 Mar 2008 03:23
112 lines
4141 bytes
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
Author: Rickoj
Date: Wed, 12 Mar 2008 13:37
Date: Wed, 12 Mar 2008 13:37
192 lines
7835 bytes
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
Author: Alberto Hormazabal C.
Date: Fri, 14 Mar 2008 21:25
Date: Fri, 14 Mar 2008 21:25
144 lines
3843 bytes
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
Author: Rickoj
Date: Sun, 16 Mar 2008 00:57
Date: Sun, 16 Mar 2008 00:57
155 lines
4118 bytes
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
Author: catfart
Date: Sun, 16 Mar 2008 20:29
Date: Sun, 16 Mar 2008 20:29
158 lines
4411 bytes
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
Author: Rickoj
Date: Thu, 27 Mar 2008 01:52
Date: Thu, 27 Mar 2008 01:52
165 lines
4895 bytes
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