Autor Zpráva
Petr2
Profil *
Zdravím,
zkouším regulérní výrazy v PHP a chtěl bych se zeptat, zda někdo neví jak na číslo bankovního účtu. Chtěl bych se ještě dodatečně zeptat, jestli slovenské a české banky mají stejný formát nebo je mezinárodní.
Moc se v tomto nepohybuji, myslím, že pro zahraničí je asi SWIFT.

Umím rodný číslo, ale to ču ne.

Děkuji
Joker
Profil
Petr2:
Regulérně se tomu říká regulární výrazy ;-)

Jinak samotné číslo účtu je normálně 10 číslic (nebo méně, pokud se vynechají úvodní nuly), takže tam by asi stačilo:
if((strlen($cislo) < 11) && ctype_digit($cislo))
Pokud jde o složené číslo účtu, tj. předčíslí-číslo účtu/kód banky, tak tam jsou různé zápisy. Jelikož všechny položky mají pevně danou délku, mohou to být i jen čísla (např. 12345612345678900123 = 123456-1234567890/0123), pak by asi kontrola byla ctype_digit a zároveň strlen = 20 (nelze vynechávat úvodní nuly) a poslední 4 znaky jsou platný kód banky.
U klasického formátu bych to asi rozsekal na jednotlivé části a ty validoval zvlášť.
Předčíslí: ctype_digit + délka maximálně 6
Číslo: ctype_digit + délka maximálně 10
Kód banky: Tady existuje výčet platných hodnot, čili si ho převést do pole a pak testovat, jestli hodnota v tom poli je. Méně důkladná kontrola by byla ctype_digit a délka přesně 4.
Petr2
Profil *
Joker:
U klasického formátu bych to asi rozsekal na jednotlivé části a ty validoval zvlášť.
Asi máte pravdu a omluva za chybu v nadpisu a obsahu...
Udělám více polí a každé otestuji zvlášť.
Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: