Mediante expresiones regulares podemos crear una funciones que nos valide correos electrónicos y direcciones IP con el formato adecuado, anteriormente vimos algo similar. Pero si nos gusta programar siempre orientado a objetos, lo cual nos ayuda a reutilizar nuestro código, además de otras ventajas … ¿cómo podemos hacer? Veamos un ejemplo:

De este par de funciones:

function ip_is_valid($ip)
{
return (!preg_match( "/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $ip)) ? false : true;
}
function email_is_valid($email)
{
return (!preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $email)) ? false : true;
}

Pasando a programación orientado a objetos sería de esta forma:

<?php
class validation
{
public function __construct()
{
//todo
}

public function __destruct()
{
//todo
}

public function ip_is_valid($ip)
{
return (!preg_match( "/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $ip)) ? false : true;
}

public function email_is_valid($email)
{
return (!preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $email)) ? false : true;
}
}
?>

Ahora podemos llamar a nuestra clase en diferentes aplicaciones:

<?php
require('validacion.class.php');
$objeto=new validation;

if( $objeto->email_is_valid('billy_jean345@gmail.com') ) echo "good";
else echo "false";
?>

¿Interesante verdad? Por supuesto, que existen muchas formas de implementar la validación con clases, está es una forma. Espero les sirva este código.

Vía Code Purity