Amigos tengo un problema necesito validar el RUN y tengo esta funcion que me tinca que tiene algo raro, ya que ingreso mi run y me lo valida sin problemas, pero ingreso el run 22.222.222-2 ( obiamente sin puntos ni coma )( el rut con el digito en dos textbox distintos ) y me dice que es valido, lo que dudo.
Tengo este codigo, para que me ayuden a ver que es lo que tiene malo o si esta bien:
--------------------------------------------------
En diseño
--------------------------------------------------
Textbox1 para strrut
Textbox2 para strdig
Button1 para llamar a la funcion que valide el run
--------------------------------------------------
Este codigo en el Codebehinde
--------------------------------------------------
private string strrut;
private string strdig;
private int intrut;
protected void Button1_Click(object sender, EventArgs e)
{
Funciones fun = new Funciones();
this.strrut = this.txt_rut.Text;
this.strdig = this.txt_dig.Text;
this.intrut = Convert.ToInt32(this.strrut);
if (this.strdig == fun.digitoVerificador(this.intrut))
{
string rut = this.strrut+this.strdig;
string mensaje = "Rut correcto"+" "+this.intrut+"-"+this.strdig+", "+rut;
this.Label1.Text = mensaje;
}
else
{
string mensaje = "Rut incorrecto";
this.Label1.Text = mensaje;
}
}
--------------------------------------------------
Este codigo en la clase
--------------------------------------------------
public string digitoVerificador(int intrut)
{
Contador = 2;
Acumulador = 0;
while (intrut != 0)
{
Multiplo = (intrut % 10) * Contador;
Acumulador = Acumulador + Multiplo;
intrut = intrut / 10;
Contador = Contador + 1;
if (Contador == 8)
{
Contador = 2;
}
}
Digito = 11 - (Acumulador % 11);
RutDigito = Digito.ToString().Trim();
if (Digito == 10)
{
RutDigito = "k";
}
if (Digito == 11)
{
RutDigito = "0";
}
return (RutDigito);
}
Bueno espero que me ayuden y si le sirve a alguien impekable.