AJAX

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:

  1. Wytnij znaki nie numeryczne z ciągu wejściowego i przejdź do kroku 2.
  2. Jeżeli długość ciągu znaków wynosi 26 to przejdź do kroku 3 w przeciwnym wypadku zwróć false.
  3. Do ciągu znaków dopisz kod kraju 2521, który odpowiada kodowi literowemu PL (P - 25, L - 21).
  4. Dwa pierwsze elementy ciągu zawierającego numeru konta przenieś na koniec tego ciągu(które zawierają sumę kontrolną).
  5. 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.
  6. 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;
  }
});

Tags: , , ,

wtorek, Listopad 16th, 2010 AJAX, JavaScript, jQuery Brak komentarzy

geolokalizacja by googlemaps

Były już mapy googla i kożystanie z API googlemaps. Teraz nadszedł czas na geolokalizacje. Google oferuje bardzo dokładny skrypt geolokalizacji. A korzystanie z niego wygląda mniej więcej tak:

$szukana_lokalizacja = "Poznań, Plac Andersa";
$fd = fopen("http://maps.google.com/maps/geo?q=".urlencode($szukana_lokalizacja)."&output=csv&key=TWÓJAPIKEY", "r");
$data = fread($fd, 5000); // od filesize($fd) nie działa
$data = explode(",", $data);
//print_r($data);
//$data[0] to odpowiedź http jeśli 200 to jest ok
if($data[0] == 200) {
 $y = $data[2]; // szerokość
 $x = $data[3]; // długość
}
fclose($fd);

Można oczywiście prasować wielkiego XML’a w którym jest dokładna lokalizacja po stan/województwo itp. wystarczy zmienić output na xml.

Więcej do poczytania na:

Tags: , ,

czwartek, Październik 25th, 2007 AJAX, GoogleMaps, php, projekty Brak komentarzy

google maps

Zatem stałem się specjalistą od AJAX’a i Google Maps. Do portalu muzhi.com(domena jeszcze nie podpięta) Dopisałem kolejny klon twittera znany pod nazwą twittervision.com

Wersja jeszcze jest rozwojowa. Więc nie czepiajcie się o drobiazgi. Działa poprawnie. Ajax napisany z ręki, do pharse’owania xml’a użyłem zintegrowanej biblioteki googla GXml. Wszystko to dostępne pod adresem:

map.logbox.cn

Zapraszam i Pozdrawiam,

Tags: , ,

czwartek, Październik 18th, 2007 AJAX, bez kategorii, GoogleMaps, php, praca, projekty Brak komentarzy