jQuery
Javascript: Walidator Numeru Rachunku Bankowego (NRB)
Opis Formatu NRB
Format NRB jest to 26 cyfr zapisanych w formacie:
CC AAAA AAAA BBBB BBBB BBBB BBBB
Gdzie:
- CC to suma kontrolna (2 cyfry),
- AAAAAAAA to numer rozliczeniowy jednostki organizacyjnej banku (8 cyfr),
- BBBBBBBBBBBBBBBB to numer rachunku klienta w banku (16 cyfr).
Więcej na ten temat powie nam wikipedia.
Algorytm Walidacji:
- Wytnij znaki nie numeryczne z ciągu wejściowego i przejdź do kroku 2.
- Jeżeli długość ciągu znaków wynosi 26 to przejdź do kroku 3 w przeciwnym wypadku zwróć false.
- Do ciągu znaków dopisz kod kraju 2521, który odpowiada kodowi literowemu PL (P - 25, L - 21).
- Dwa pierwsze elementy ciągu zawierającego numeru konta przenieś na koniec tego ciągu(które zawierają sumę kontrolną).
- Przeglądaj numer konta od końca mnożąc kolejno: ostanią cyfrę numeru konta z pierwszą wagą zawartą w tablicy wag. Sumując wynik powyższego mnożenia.
- Jeżeli wynik reszty z dzielenia przez 97 jest równy jeden to zwróć true w przeciwnym wypadku zwróć false
Implementacja funkcji sprawdzającej poprawność NRB
function NRBvalidatior(nrb) { nrb = nrb.replace(/[^0-9]+/g,''); var Wagi = new Array(1,10,3,30,9,90,27,76,81,34,49,5,50,15,53,45,62,38,89,17, 73,51,25,56,75,71,31,19,93,57); if(nrb.length == 26) { nrb = nrb + "2521"; nrb = nrb.substr(2) + nrb.substr(0,2); var Z =0; for (var i=0;i<30;i++) { Z += nrb[29-i] * Wagi[i]; } if (Z % 97 == 1) { return true; }else{ return false; } }else{ return false; } }
Wywoływanie sprawdzania przy edycji pola lub wysłaniu formularza
$('form').submit(function(){ if(NRBvalidatior($('input#nrb').val())) { return true; } else { return false; } });
Search
AdTaily
Najnowsze wpisy
Kategorie
- bez kategorii (38)
- c++ (2)
- czas wolny (28)
- java (3)
- kryptografia (5)
- praca (26)
- projekty (24)
- przemyślenia (15)
- uczelnia (13)
- Webdevelopment (33)
- Adobe AIR (2)
- Adobe Flex (2)
- AJAX (3)
- Apache (1)
- cloud computing (1)
- doctrine (2)
- GoogleMaps (4)
- JavaScript (3)
- jQuery (1)
- MySql (3)
- Optymalizacja (1)
- paypal (1)
- php (14)
- symfony (3)
- Symfony 1.4 (1)
- Symfony 2.0 (1)
- WordPress (4)
Przyjaciele
Archiwa
Tagi
Barcamp
bug
czas wolny
DES
doctrine
FireFox
fix
Flex
google maps
ipn
java
Java Script
Konferencje
kryptografia
layout
marzec
mysql
Onetimepad
paypal
php
podsumowanie
praca
projekty
Przeglądarki
seo
sesja
sklep
sylwester
symfony
Szyfrowanie
tutorial
twitter
uczelnia
update
urlop
Webdevelopment
wordpress
XOR
zakopane
zdrowietouroda.pl
zły klient
życie