<?php
function isIBAN ($iban) {
// Remove all whitespace
$iban = preg_replace('/\s/', '', $iban);
$iban = strtoupper($iban);
if(strlen($iban) > 34) {
return false;
}
// Create control number
$alfa = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ');
for($i = 1; $i < 27; ++$i) {
$alfa_replace[] = $i + 9;
}
$controlNumber = str_replace($alfa, $alfa_replace, substr($iban, 4, strlen($iban)-4) . substr($iban, 0, 2) . "00");
$controlNumber = 98 - (int)bcmod($controlNumber, 97);
return ((int)$controlNumber === (int)substr($iban, 2, 2));
}
var_dump(isIBAN('999'));
preferences:
46.81 ms | 402 KiB | 5 Q