Al realizar una aplicación de comercio electrónico es muy importante validar los distintos tipos de tarjetas de credito que hay, esta es una simple función para validarla, solo tiene que llamar a la función getTipoTarjeta(“4111 1111 1111 1111?);

function validarTarjeta($num_tarjeta)
{
$num_tarjeta = preg_replace(“/\D|\s/”, “”, $num_tarjeta);
$length = strlen($num_tarjeta);

$parity = $length % 2;
$sum=0;

for($i=0; $i<$length; $i++)
{
$digit = $num_tarjeta [$i] ;
if ($i%2==$parity) $digit=$digit*2;
if ($digit>9) $digit=$digit-9;
$sum=$sum+$digit;
}

return ($sum%10==0);
}

function getTipoTarjeta($cc)
{
$cards = array(
“visa” => “(4\d{12}(?:\d{3})?)”,
“amex” => “(3 [47] \d{13})”,
“jcb” => “(35 [2-8] [89] \d\d\d{10})”,
“maestro” => “((?:5020|5038|6304|6579|6761)\d{12}(?:\d\d)?)”,
“solo” => “((?:6334|6767)\d{12}(?:\d\d)?\d?)”,
“mastercard” => “(5 [1-5] \d{14})”,
“switch” => “(?:(?:(?:4903|4905|4911|4936|6333|6759)\d{12})|(?:(?:564182|633110)\d{10})(\d\d)?\d?)”,
);

$names = array(“Visa”, “American Express”, “JCB”, “Maestro”, “Solo”, “Mastercard”, “Switch”);

$matches = array();

$pattern = “#^(?:”.implode(“|”, $cards).”)$#”;

$result = preg_match($pattern, str_replace(” “, “”, $cc), $matches);

if($result > 0)
{
$result = (validarTarjeta($cc))?1:0;
}

return ($result>0)?$names [sizeof($matches)-2] :false;
}
//ejm:
echo getTipoTarjeta(“4111 1111 1111 1111”);

Las clases en PHP Las Clases son máximo exponente de la Programación Orientada a Objetos (POO). PHP no es un lenguaje orientad a objeto, pero implementa las caracterís...
Redes Sociales que no pueden faltar Linked In Es una red espectacular para avance en temas laborales, como el seguimiento por ejemplo a investigaciones sobre tecnología, sicología y dem...
Nuevo Kernel Linux 3.8 Como cada vez que un nuevo Kernel es lanzado, Linus Torlvalds acaba de anunciar la disponibilidad de la versión 3.8 . Tras algo más de dos meses de...
Variable scope on PHP The scope of a variable is the context within which it is defined. For the most part all PHP variables only have a single scope. This single scope s...
Las personas mayores cada vez compran más por Internet El comercio electrónico no es solo cuestión de jóvenes, sino también de adultos mayores. Estudios de mercadeo identifican que el comportamiento com...
Chrome 13 disponible con novedades Chrome 13 es la última versión estable de un navegador que ha logrado convertirse en la primera opción para un 14% de los usuarios de Internet. Ent...
Intel invierte 24 millones de dólares en compañías de software Intel está invirtiendo más de 24 millones de dólares en compañías de software centradas en áreas en las que el fabricante de chips está particularment...
Consejos para Acelerar el Arranque del PC En los últimos tiempos han comenzado a surgir portátiles potentes llamados ultrabooks. Uno de los puntos más atractivos de estos equipos está en la in...
Listado de Frameworks para CSS Los frameworks CSS disponen una serie de clases (de hojas de estilo) ya creadas con las que ayudar a posicionar elementos en la página y crear estruct...
Google+ vs Facebook , Comparando ambas redes sociales John Blossom ha publicado una serie de métricas que comparan el uso de Facebook vs. Google Plus, en el que se desprenden interesantes conclusiones qu...