Tema: rut en c#
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/12/2010, 06:49
KorbenX
 
Fecha de Ingreso: noviembre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: rut en c#

Yo utilizo una función javascript, si la necesitas explicitamente en C# debes llevarlo a ese lenguaje.

El código javascript es:

Código:
function validar_rut(source, arguments) {
    var rut = arguments.Value; suma = 0; mul = 2; i = 0;

    var pos = rut.indexOf('-');
    if (pos < 0) {//No contiene guion
        var tam = rut.length;
        rut = rut.substr(0, tam - 1) + '-' + rut.substr(tam - 1, tam);
    }
    var ctrl = $get(source.controltovalidate);
    ctrl.value = rut;

    for (i = rut.length - 3; i >= 0; i--) {
        suma = suma + parseInt(rut.charAt(i)) * mul;
        mul = mul == 7 ? 2 : mul + 1;
    }

    var dvr = '' + (11 - suma % 11);
    if (dvr == '10') dvr = 'K'; else if (dvr == '11') dvr = '0';

    if (rut.charAt(rut.length - 2) != "-" || rut.charAt(rut.length - 1).toUpperCase() != dvr)
        arguments.IsValid = false;
    else
        arguments.IsValid = true;
}
Para utilizar:

<asp:TextBox ID="txtRut" runat="server" MaxLength="10"></asp:TextBox>
<asp:CustomValidator ID="rutValidator" runat="server" ControlToValidate="txtRut" Display="Dynamic" ErrorMessage="* Rut no válido" ValidationGroup="Carga" ClientValidationFunction="validar_rut" />