# ############################################################# # # Validação de CPF # # Faz validação de um número de CPF, retorna um BOOLEAN # Leonardo Giori (gambiarra.com.br) # http://creativecommons.org/licenses/by/2.5/ # # ############################################################# public function isCPF($number) { if(preg_match('/^\d{3}.\d{3}.\d{3}-\d{2}$/', $number)) $number = preg_replace("/[^0-9]/","", $number); $num = substr($number, 0, 9); for($n=10; $n>=2; $n--) { $o = (int) substr($num, (10 - $n), 1); $s1 = (int) $s1 + ($o * $n); $s2 = (int) $s2 + ($o * ($n + 1)); } $d1 = (($s1 % 11)<2) ? 0 : (11 - ($s1 % 11)); $v = (($s2 + ($d1 * 2)) % 11); $d2 = ($v < 2) ? 0 : (11 - $v); return $number==$num.$d1.$d2; } # Exemplo ############################################################# if(isCPF("22233366638")){ echo "CPF VÁLIDO!"; }else{ echo "CPF INVÁLIDO!"; }