-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunction.validateCPF.php
More file actions
31 lines (20 loc) · 887 Bytes
/
function.validateCPF.php
File metadata and controls
31 lines (20 loc) · 887 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
function validateCPF($strCPF)
{
if(strlen($strCPF)!= 11 || in_array($strCPF, array("00000000000",
"11111111111", "22222222222", "33333333333",
"44444444444", "55555555555", "66666666666",
"77777777777", "88888888888", "99999999999"))
) return false;
$sum = 0;
for($i = 1; $i <= 9; $i++) $sum = $sum + intval(substr($strCPF, $i - 1, 1)) * (11 - $i);
$remainder = ($sum * 10) % 11;
if(($remainder == 10) || ($remainder == 11)) $remainder = 0;
if($remainder != intval(substr($strCPF, 9, 1))) return false; // first validation digit
$sum = 0;
for($i = 1; $i <= 10; $i++) $sum = $sum + intval(substr($strCPF, $i - 1, 1)) * (12 - $i);
$remainder = ($sum * 10) % 11;
if(($remainder == 10) || ($remainder == 11)) $remainder = 0;
if($remainder != intval(substr($strCPF, 10, 1))) return false; // second validation digit
return true;
}