Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2012, 17:52
Avatar de alvidales
alvidales
 
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 2 meses
Puntos: 11
Aporte: Valida Estructura RFC para México

Función para validar la estructura del RFC en México.

Estuve buscando alguna en la web y ninguna me lleno el ojo así que me puse a hacer una propia, esta función valida lo siguiente:
  • Valida que los RFC sean de longitud de 12 ó 13 caracteres
  • Que los primeros 3 o 4 caracteres (Persona Moral y Persona Fisica respectivamente) sean letras
  • Que los 6 caracteres después de las primeras 3 o 4 letras sean números
  • Y que la homoclave no tenga otros caracteres más que números y/o letras

Código PHP:
function validaRFC($valor) {
        
$valor str_replace("-"""$valor);
        
$cuartoValor substr($valor31);
        
//RFC Persona Moral.
        
if (ctype_digit($cuartoValor) && strlen($valor) == 12) {
            
$letras substr($valor03);
            
$numeros substr($valor36);
            
$homoclave substr($valor93);
            if (
ctype_alpha($letras) && ctype_digit($numeros) && ctype_alnum($homoclave)) {
                return 
true;
            }
        
//RFC Persona Física.
        
} else if (ctype_alpha($cuartoValor) && strlen($valor) == 13) {
            
$letras substr($valor04);
            
$numeros substr($valor46);
            
$homoclave substr($valor103);
            if (
ctype_alpha($letras) && ctype_digit($numeros) && ctype_alnum($homoclave)) {
                return 
true;
            }
        }else {
            return 
false;
        }
    }
    
    if(
validaRFC("VIFG2335636V4")){
        echo 
"Estructura Valida";
    } else {
        echo 
"Estructura Invalida";
    }