Tengo un codigo en javascript y otro en php, los que me dicen si una cadena es valida, una direccion de email por ejemplo.
Si buscamos por internet encontramos algunas regex populares, como el RFC2822 Email Validation:
/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g
este regex me funciona perfecto en javascript:
Código:
if (email.value.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/)) { text.innerHTML = 'OK';; }
pero en php no le encontre la vuelta:
Código PHP:
if(preg_match_all("/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/", $str, $result))
{return true;}else{return false;}
Este tema me esta estresando ya, necesito que en los dos lenguajes tengan logicamente el mismo resultado, pero no lo logro. Ademas tengo como 5 problemas como este.
Un regular expression no deberia ser una forma logica y universal de expresar un patron de busqueda?? Se tendria que poder usar en todos los leguajes por igual! Eso falicitaria mucho las cosas...
Muchas gracias y espero que me puedan ayudar.