Advertisement
kernel_memory_dump

Zad3

Mar 10th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.74 KB | None | 0 0
  1. <!--
  2. Napraviti jednu formu za unos podataka. Na formi će se nalaziti sledeći podaci:
  3. ime, prezime, mail i matični broj.
  4. Dodati validaciju na kontrole ove forme,.
  5. tako da korisnik može da unese samo odgovarajuće podatke
  6. (u ime i prezime samo slova, u mail samo mail,
  7. a u matični broj samo brojeve).Zadatak poslati kao HTML fajl.
  8.  
  9. -->
  10.  
  11. <html>
  12. <head>
  13. <title>Zadatak3</title>
  14. <script language="javascript">
  15. /***
  16.  Funkcija koja vrsi validaciju forme
  17.  polja koja se proveravaju:
  18.     ime i prezime, tekstualna, moraju biti samo slova
  19.     mejl polje da je format mejla OK  nesot@nesto.nesto
  20.     tekstualno polja maticni broj treba u sebi da ima samo brojeve
  21.     ---------------------------
  22.     Buduci da ova funkcija sluzi za validaciju forme, ona treba da vrati true ili false
  23.     true ako je sve ok
  24.     false na prvu gresku, time ce se spreciti slanje podataka kada se klikne na submit
  25. */
  26.  
  27. function validacija(){
  28.     alert("1");
  29.     /* pokupimo vrednosti svih polja od interesa (ovo su sve stringovi ) */
  30.     var ime = document.forms["frmMojaForma"]["txtIme"].value;
  31.     var prezime = document.forms["frmMojaForma"]["txtPrezime"].value;
  32.     var mejl = document.forms["frmMojaForma"]["txtMejl"].value;
  33.     var jmbg = document.forms["frmMojaForma"]["txtJMBG"].value;
  34.    
  35.     alert("1");
  36.    
  37.     /**********
  38.         regex maska za proveru da li je string sastavljen samo od slova
  39.         jer nemamo bult-in funkciju u JS za ovo
  40.         ALTERNATIVA: proci kroz ceo string, slovo po slovo
  41.         proveriti da li je okviru ASCII tabele
  42.         ili for each petlja za prolazak kroz string
  43.         i proveriti isLetter za svaki element stringa
  44.        
  45.         najbrzi nacin: preko izraza definisati proveru, Regular Expression, RegEx
  46.        
  47.         /^[a-z0-9]+$/i
  48.  
  49.         ^         pocetak stringa
  50.         [a-z]  od a do z
  51.         $        kraj stringa
  52.         /i      da nije oseltjivo na velika i mala slova
  53.     **********/
  54.     var regEx = /^[a-z]+$/i
  55.     // da li imamo samo slova u stringu? Ako nisu samo slova, greska
  56.     if (!regEx.test(ime) ){
  57.       alert("Greska, ime mora da se sastoji samo od slova!");
  58.       return false;
  59.     }
  60.    
  61.     if (!regEx.test(prezime)) {
  62.       alert("Greska, prezime mora da se sastoji samo od slova!");
  63.       return false;
  64.       }
  65.  
  66.     // ako je  Not A Number, greska
  67.     if ( isNaN(jmbg) ){
  68.       alert("Greska, jmbg mora biti iskljucivo numericki");
  69.       return false;
  70.      }
  71.  
  72.    
  73.     /* validacija mejla */
  74.     var gdeJeAT=mejl.indexOf("@"); // nadjemo @
  75.     var gdeJeTacka =mejl.lastIndexOf(".");
  76.     /*  moramo da proverimo gde nam stoji @  simbol gde stoji .
  77.         mejl je validan ako je @ znak na barem drugoj poziciji (indeks >= 1)
  78.         x@x.nesto
  79.         nije validno ovo:  @nesto.com
  80.         ILI
  81.         ako je tacka odmah posla AT
  82.         012345  <=  indeksi stringa mejl
  83.         a@x.rs
  84.         Tacku ocekujemo na poziciji  gdeJeAt a to je 1, plus dva napred, a to je poz 3
  85.        
  86.         ILI nema niceg posle tacke
  87.         lol@lol.
  88.         01234567
  89.        
  90.         012345678
  91.         lol@lol.x  <== nema domena sa 1 slovom
  92.        
  93.         ako je   tacka + 2 >=  duzine stringa
  94.         ZNACI , ako nema NICEG posle tacke ili samo jednog slova i tada nije validno
  95.        
  96.     */
  97.     if (gdeJeAT < 1 || gdeJeTacka < gdeJeAT +2 || gdeJeTacka+2 >= mejl.length){
  98.       alert("Mejl adresa nije u redu!");
  99.       return false;
  100.      }
  101.      /*  ako smo stiglo dovde, znaci da je sve ilo ok, vracamo true */
  102.      return true;
  103.    
  104. }
  105.  
  106. </script>
  107. </head>
  108. <body>
  109. <!-- izvrsavanja slanja podataka zavisi od povratne vrednosti funkcije
  110. za validaiciju -->
  111. <form id="frmMojaForma" onsubmit="return validacija();">
  112. <!-- moglo bi da se stavi svako polje forme u tabelu -->
  113. <!-- definisemo koja se funkcija poziva na promenu -->
  114. Ime: <input type="text" name="txtIme"> <br>
  115. Prezime: <input type="text" name="txtPrezime"><br>
  116. Mejl: <input type="text" name="txtMejl"><br>
  117. Maticni broj: <input type="text" name="txtJMBG"><br>
  118. <input type="submit" value="Proveri podatke">
  119. </form>
  120.  
  121.  
  122.  
  123. </body>
  124. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement