A continuación veremos distintas expresiones regulares que pueden ser utilizadas con preg_match() ...
Para números naturales, útil para filtrar los famosos ids por los cuales se realizan ataques de inyección sql
$numerosnaturales = "/^[0-9]+$/";
Para números naturales y decimales, válidos 2, 3.14, ...
$numerosnaturalesydecimales = "/^([0-9]+\.+[0-9]|[0-9])+$/";
Sólo letras mayúsculas y minúsculas, esto no incluye los acentos, así que si introduces á no es correcto, si sólo quieres que acepte minúsculas quita la i de la expresión regular
$sololetras = "/^[a-z]+$/i";
Para caracteres latinos ignorando mayúsculas y minúsculas, quita la i de la expresión regular si sólo quieres permitir minúsculas
$caractereslatinos = "/^[a-záéóóúàèìòùäëïöüñ\s]+$/i";
Para filtrar emails email@mail.com, email.admin@mail.com, ...
$email = "/^[a-zA-Z0-9\._-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$/";
Passwords que tienen que contener tanto números como letras
$password = "/^([a-z]+[0-9]+)|([0-9]+[a-z]+)/i";
Para urls, permite subdominios como http://www.eldominio.sub.com
$url = "/^(http|https|ftp)+\:+\/\/+(www\.|)+[a-z\-\.]+([a-z\.]|)+\.[a-z]{2,4}$/i";
Fecha formato: 12/12/2014
$fecha = "/^([0-9]{2}\/[0-9]{2}\/[0-9]{4})$/";
Nueve dígitos: 900505050
$telefono = "/[0-9]{9}$/";
Para localhost
$localhost = "/^http:\/\/(localhost|127\.0\.0\.1)/";
Para códigos postales
$codigo_postal = "/^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$/";
Para el Documento NIF
$NIF = "/^\d{8}[a-zA-Z]{1}$/";
Para el Documento CIF
$CIF = "/^[a-zA-Z]{1}\d{7}[a-zA-Z0-9]{1}$/";
Para el documento NIE
$NIE = "/^[XxTtYyZz]{1}[0-9]{7}[a-zA-Z]{1}$/";
Tarjetas de crédito VISA
$VISA = "/^4[0-9]{3}-?[0-9]{4}-?[0-9]{4}-?[0-9]{4}$/";
Tarjetas de crédito MASTERCARD
$MASTERCARD = "/^5[1-5][0-9]{2}-?[0-9]{4}-?[0-9]{4}-?[0-9]{4}$/";
No hay comentarios:
Publicar un comentario