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

<?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));
?>

Çıktısı

bool(true)

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.