public function validate($input)
{
if (!is_scalar($input)) {
return false;
}
if (!preg_match('/^\\d{10}$/', (string) $input)) {
return false;
}
$weights = [6, 5, 7, 2, 3, 4, 5, 6, 7];
$targetControlNumber = $input[9];
$calculateControlNumber = 0;
for ($i = 0; $i < 9; ++$i) {
$calculateControlNumber += $input[$i] * $weights[$i];
}
$calculateControlNumber = $calculateControlNumber % 11;
return $targetControlNumber == $calculateControlNumber;
}