<?php
# \author allanjos[at]gmail.com
function cpf_is_valid($number) {
if (strlen($number) != 11) {
return false;
}
$number_dv = substr($number, 9, 11);
$number = substr($number, 0, 9);
$digito_verificador1 = 0;
$digito_verificador2 = 0;
$factor = 2;
for ($i = strlen($number) - 1; $i > -1; $i--) {
$digito_verificador1 += $number[$i] * $factor;
++$factor;
}
$digito_verificador1 = ($digito_verificador1 * 10) % 11;
if ($digito_verificador1 == 10)
$digito_verificador1 = 0;
$factor = 2;
$digito_verificador2 += $digito_verificador1 * $factor;
for ($i = strlen($number) - 1; $i > -1; $i--) {
++$factor;
$digito_verificador2 += $number[$i] * $factor;
}
$digito_verificador2 = ($digito_verificador2 * 10) % 11;
if ($digito_verificador2 == 10)
$digito_verificador2 = 0;
if ($number_dv != $digito_verificador1.$digito_verificador2)
return false;
return true;
}
$number = '11122233396';
if (cpf_is_valid($number)) {
print 'Válido.';
}
else {
print 'Inválido.';
}
?>
# \author allanjos[at]gmail.com
function cpf_is_valid($number) {
if (strlen($number) != 11) {
return false;
}
$number_dv = substr($number, 9, 11);
$number = substr($number, 0, 9);
$digito_verificador1 = 0;
$digito_verificador2 = 0;
$factor = 2;
for ($i = strlen($number) - 1; $i > -1; $i--) {
$digito_verificador1 += $number[$i] * $factor;
++$factor;
}
$digito_verificador1 = ($digito_verificador1 * 10) % 11;
if ($digito_verificador1 == 10)
$digito_verificador1 = 0;
$factor = 2;
$digito_verificador2 += $digito_verificador1 * $factor;
for ($i = strlen($number) - 1; $i > -1; $i--) {
++$factor;
$digito_verificador2 += $number[$i] * $factor;
}
$digito_verificador2 = ($digito_verificador2 * 10) % 11;
if ($digito_verificador2 == 10)
$digito_verificador2 = 0;
if ($number_dv != $digito_verificador1.$digito_verificador2)
return false;
return true;
}
$number = '11122233396';
if (cpf_is_valid($number)) {
print 'Válido.';
}
else {
print 'Inválido.';
}
?>
No comments:
Post a Comment