/*
Este script valida cpf, o n�mero inserido pode conter a formata��o que for, a fun��o retirar qualquer formata��o antes de iniciar os c�lculos.

Para usar chame a fun��o com o CPF dentro

CPF( n�mero do CPF );

O retorno ser� V(�lido) ou I(nv�lido).

Script By Spiderpoison - fa�a o que quiser com as linhas acima.

HUA HUA HUA 2003!!!

A fun��o
*/
echo CPF("12312312387");

function CPF($cpf){
	$cpf=ereg_replace("[^0-9]","",$cpf);
	$c=substr($cpf, 0,9);
	$v=substr($cpf, 9,2);
	$d=0;
	$val=true;
	for ($i=0;$i<9;$i++){
		$d+=$c[$i]*(10-$i);
	}
	$d==0 ? $val=false:null;
	$d= (11-($d%11))>9 ? 0:11-($d%11);
	$v[0]!=$d ? $val=false:null; 
	$d *=2;
	for ($i=0;$i<9;$i++){
		$d+=$c[$i]*(11-$i);
	}
	$d= (11-($d%11))>9 ? 0:11-($d%11);
	$v[1]!=$d ? $val=false:null;
	ereg("0{11}|1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}",$cpf) ? $val=false : null; 
	return $val ? "S" : "N";
}