/*Esta função valida cartões de crédito VISA para usar basta chamar a função com um número de cartão como esta ai embaixo... echo visa("4128 7541 3218 0366"); ... este número é valido e deve ser usado apenas para teste, a função retorna true(1) ou false(0). Todos os valores diferentes de Números serão descartados nos calculos de validação... ...abaixo a função... Pode retirar a linha que quiser acima ou abaixo, tanto faz... Script By Spiderpoison HUA HUA HUA 2003 */ function visa($c){ $c=ereg_replace("[^0-9]","",$c); $valido=true; $s=0; $v=''; $n=strlen($c); $n!=16 ? $valido=false:null; $c[0]!='4' ? $valido=false:null; for($i=0;$i<$n;$i+=2){ $s=($c[$i]*2); if ($s>9) { $s=substr($s,0,1)+substr($s,1,1); } $v.="$s".$c[$i+1]; } $s=0; for($i=0;$i<$n;$i++){ $s+=$v[$i]; } $s>150 ? $valido=false:null; ($s%10)>0 ? $valido=false:null; return $valido; }