Foros del Web » Programación para mayores de 30 ;) » .NET »

Funcion Valida RFC : Mexico, Le falta algo, me pueden ayudar?

Estas en el tema de Funcion Valida RFC : Mexico, Le falta algo, me pueden ayudar? en el foro de .NET en Foros del Web. Hola! Les comparto la siguiente funcion que estoy utilizando para la validacion de RFC, esto es valido para Mexico, tengo un problema con la validacion ...
  #1 (permalink)  
Antiguo 10/11/2011, 16:20
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 18 años, 4 meses
Puntos: 34
Funcion Valida RFC : Mexico, Le falta algo, me pueden ayudar?

Hola!

Les comparto la siguiente funcion que estoy utilizando para la validacion de RFC, esto es valido para Mexico, tengo un problema con la validacion y no es precisamente la funcion, es algo que debe validar pero aun no lo tiene implementado por que no se como puedo incluirlo, espero me puedan ayudar.

Problema: En la normativa aplicada para mexico se han comensado a incluir nuevos caracteres que antes no eran considerados, tal es el caso de la "Ñ" y el "&" por lo que la "Ñ" ya se incluye en la funcion pero en el caso de el "&" la funcion manda un exception, les pongo el mensaje que envia y la cadena de Pattern que uso, espero me puedan ayudar.

Pattern ="([A-Z-Ñ-&]{4})([0-9]{6})([A-Z-Ñ-&0-9]{3})"
Error = analizando "([A-Z-Ñ-&]{4})([0-9]{6})([A-Z-Ñ-&0-9]{3})" - Intervalo [x-y] en orden inverso.

Private Function RFCValido(ByVal StrRFC As String) As Boolean
Dim StrPattern As String = Nothing
Dim IntError As Integer = 0

StrRFC = Regex.Replace(StrRFC, "[*/_" + Chr(32) + Chr(45) + "]", "")

Try
If Not (StrRFC = Nothing) Then

If StrRFC.Length = 12 Then
StrPattern = "([A-Z-Ñ]{3})([0-9]{6})([A-Z-Ñ0-9]{3})"
ElseIf StrRFC.Length = 13 Then
StrPattern = "([A-Z-Ñ]{4})([0-9]{6})([A-Z-Ñ0-9]{3})"
Else
StrPattern = "([0-9])"
IntError = -1
End If

If (IntError = 0) Then
StrRFC = StrRFC.ToUpper

If OraNumReg(1, StrRFC) = 0 Then
If Regex.IsMatch(StrRFC, StrPattern) Then
Return True

Else
Return False
End If

Else
Return False
End If

Else
Return False
End If

Else
Return False
End If

Catch ex As Exception
Return False
End Try
End Function
__________________
El ego es el mayor enemigo de un hombre inteligente.

Etiquetas: falta, funcion, mexico, rfc, validar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:39.