PHP: Walidacja numeru konta bankowego

2012-06-28 PHP

Jak sprawdzić czy wskazany ciąg znaków składa się z dokładnie z 26 znaków a co za tym idzie jest numerem konta bankowego obowiązującego w Polsce? Poniższa funkcja z wyrażeniem regularnym zwróci nam prawdę bądź fałsz w zależności od tego czy ciąg spełnia założenia czy też nie.

Funkcja sprawdzająca poprawność wygląda następująco:

function checkBankAccountNumber($accountNumber)
{
  return preg_match('/^[0-9]{26}$/', $accountNumber);
}

Przykład użycia na zmiennych:

$test1 = '1122223333aaaa555566667777'; //zwróci fałsz

$test2 = 'Kupił kundla stróż Ambroży'; //zwróci fałsz

$test3 = '11222233334444555566667777'; //zwróci prawdę

Warto zwrócić uwagę na fakt, iż funkcja sprawdza tylko poprawność znaków nie rozpatrując wag poszczególnych cyfr co oznacza, iż mimo spełnienia fizycznego wymogu 26 cyfr, podany numer dalej może nie być poprawnym numerem konta któregokolwiek z banków w Polsce.

Do NOT follow this link or you will be banned from the site!