fitorec / RFC_herramientas_web

Validación de un RFC por medio de PHP
16 stars 2 forks source link

Tu expresión regular tiene problemas. #3

Open rodrigoSaladoAnaya opened 10 years ago

rodrigoSaladoAnaya commented 10 years ago

En la sección README.md > Sección Nombre, tienes un problema, dices que la expresión es

^[a-z]{4}

Pero la segunda letra tiene que ser siempre una vocal así que la expresión podría ser algo como:

/^[A-Z][AEIOU][A-Z]{2} ...

Suponiendo que en el algoritmo mandes todo a mayúsculas.

Yo lo haría así: [Pseudocódigo]

var rfc = 'vecj880326 XXX' or 'ABC 680524 P-76'
var rfcTmp = rfc.toUpperCase().replate(/[\s-]/, '')
if (!(rfcTmp ==~ /^[A-Z][AEIOU][A-Z]{2}\d{6}[A-Z0-9]{3}$/)
            && !(rfcTmp ==~ /^[A-Z]{3}\d{6}[A-Z0-9]{3}$/)) {
   return false
} 
return true

Así puedes validar si es para una persona física o moral. Saludos.

fitorec commented 10 years ago

ok, gracias prometo revisarlo a la brevedad posible :)