Vergi Numarası Doğrulama Sınıfı

PHP
21 lines
<?php
class vergino{
static function dogrula($no) {
$no = trim($no);
$topla = 0;
$sakla = 0;
if (strlen($no) != 10)
return false;
for($i = 0; $i < strlen($no) - 1; $i++) {
if(!is_numeric($no[$i]))
return false;
$sakla = ($no[$i] + 10 - ( $i + 1 ) ) % 10;
$topla = ($sakla == 9 ? $topla + $sakla : $topla + (($sakla * (pow(2, 10 - ( $i + 1 ))) ) % 9));
}
if ($no[strlen($no) -1] == (10 - ($topla % 10)) % 10)
return true;
return false;
}
}
var_dump(vergino::dogrula(9561019891));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
bool(true)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX