Foros del Web » Programando para Internet » PHP »

Verificar RFC

Estas en el tema de Verificar RFC en el foro de PHP en Foros del Web. Hola a todos, quiero verificar un RFC, que tenga 4 letras iniciales, luego 6 números y al final 3 caracteres, pueden ser números o letras ...
  #1 (permalink)  
Antiguo 08/05/2011, 22:51
 
Fecha de Ingreso: mayo-2006
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 0
Verificar RFC

Hola a todos, quiero verificar un RFC, que tenga 4 letras iniciales, luego 6 números y al final 3 caracteres, pueden ser números o letras con distinto orden, ejemplo:

AAAA777777B1C

Es solo un ejemplo de RFC, pero es la estructura general, utilizo el siguiente código para verificarlo pero me manda error:

if(preg_match("/(^[a-z]{1,4})(?!\s)([\d]{1,6})(?!\s)([\w]{1,3}$)/",$rfc)){

¿Alguien me podría decir en donde se encuentra el error?

Gracias
  #2 (permalink)  
Antiguo 08/05/2011, 23:39
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Verificar RFC

buenas,
a mi la expresion me funciona. sin embargo, una observacion. ¿el RFC tiene que estar compuesto exactamente de cuatro caracteres, seis numeros, y seguido tres caracteres alfanumericos? porque si es asi, la expresion estaria mal escrita ya que esta admite un numerio variable en cada una de las partes del string. si tiene que ser exactamente dicha cantidad, entonces en el repetidor no debes incluir un rango, sino un numero fijo.
{min,max} = desde un minimo a un maximo
{fixed} = cantidad exacta

por otro lado, no veo la razon para incluir (?!\s) en la expresion. de hecho, lo que estas haciendo es complicar la lectura y comprehension de la expresion.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 09/05/2011, 00:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 2 meses
Puntos: 2237
Respuesta: Verificar RFC

Creo que tendria que ser mas o menos asi:

Código PHP:
Ver original
  1. preg_match('/^([A-Z]{3,4}\-\d{6}\-[A-Z0-9]{3})$/',$rfc)

Son:
- 3 letras para persona moral, 4 para persona fisica
- 1 guion medio
- 6 digitos que tambien habra que verificar, porque corresponden a una fecha yymmdd
- 1 guion medio
- 3 caracteres alfanumericos para la homoclave

Si quieres, puedes omitir los guiones, quitando los dos \- en la expresion.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 09/05/2011, 00:47
 
Fecha de Ingreso: mayo-2006
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Verificar RFC

Muchas gracias por su ayuda a ambos, quedó resuelto con la solución de Triby!

Etiquetas: preg_match, rfc
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 01:06.