Solo Estudio
• El ruc de una persona natural será 13 dígitos, sin letras, sincaracteres especiales , únicamente números, de los cuales los 10 primeros será la cédula de identidad.
• El tercer dígito es menor a 6 ( 0,1,2,3,4,5 ).
• Los tres últimos dígitos son 001,002,003 etc.,dependiendo el número de establecimientos adicionales.
• La validación de la cédula de Identidad pasa un algoritmo “Módulo 10”. Al número se lo divide en 13 partes, las 9 primeras son el número mismo,la 10 es el dígito autoverificador, y las 3 restantes indican si es principal o establecimiento adicional.
• Las 2 primeras posiciones corresponden a la provincia donde fue expedida, por lo cual losdos primeros números no será mayor a 22 ni menor a 1.
• Los 3 últimos bytes no podrán ser 000, ya que siempre por lo menos tendrá una principal.
• Los coeficientes usados para verificar el décimodígito de la cédula, mediante el algoritmo “Módulo 10”
COEFICIENTES = 2.1.2.1.2.1.2.1.2 ( cuando el residuo es 0 el digito verificador es 0)
Ejemplo: cédula = 1710034065
2 1 2 1 2 1 2 1 2(Coeficiente)
1 7 1 0 0 3 4 0 6 (Número de Cédula)
2 7 2 0 0 3 8 0 12 = 25 (Multiplicar cada dígito de la cédula por el
3 coeficiente, si es mayor a 10 sumo entre dígitos).
sumar las multiplicaciones
Delresultado de la suma
25/10= 2 Residuo 5 10-5 = 5 (dígito verificador)
Public Class BLCedulaIdentidad
Public Function compruebaCedula(ByVal numCedula As String) As Boolean
Dim dig1, dig2, num1, num2,num3, num4, num5, num6, num7, num8, num9 As String
Dim digProvincia, tercerDig, ultimoDig, resultSuma, residuo, valorComprovador As Integer
Try
dig1 = numCedula.Substring(0, 2)
dig2 =numCedula.Substring(2, 1)
digProvincia = CInt(dig1)
If (digProvincia >= 1 Or digProvincia <= 22) Then
tercerDig = CInt(dig2)
If tercerDig 9 Then
dig1 = sumaDig(dig1)
End If
If dig2 > 9 Then...
Regístrate para leer el documento completo.