Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!--
- Napraviti jednu formu za unos podataka. Na formi će se nalaziti sledeći podaci:
- ime, prezime, mail i matični broj.
- Dodati validaciju na kontrole ove forme,.
- tako da korisnik može da unese samo odgovarajuće podatke
- (u ime i prezime samo slova, u mail samo mail,
- a u matični broj samo brojeve).Zadatak poslati kao HTML fajl.
- -->
- <html>
- <head>
- <title>Zadatak3</title>
- <script language="javascript">
- /***
- Funkcija koja vrsi validaciju forme
- polja koja se proveravaju:
- ime i prezime, tekstualna, moraju biti samo slova
- mejl polje da je format mejla OK nesot@nesto.nesto
- tekstualno polja maticni broj treba u sebi da ima samo brojeve
- ---------------------------
- Buduci da ova funkcija sluzi za validaciju forme, ona treba da vrati true ili false
- true ako je sve ok
- false na prvu gresku, time ce se spreciti slanje podataka kada se klikne na submit
- */
- function validacija(){
- alert("1");
- /* pokupimo vrednosti svih polja od interesa (ovo su sve stringovi ) */
- var ime = document.forms["frmMojaForma"]["txtIme"].value;
- var prezime = document.forms["frmMojaForma"]["txtPrezime"].value;
- var mejl = document.forms["frmMojaForma"]["txtMejl"].value;
- var jmbg = document.forms["frmMojaForma"]["txtJMBG"].value;
- alert("1");
- /**********
- regex maska za proveru da li je string sastavljen samo od slova
- jer nemamo bult-in funkciju u JS za ovo
- ALTERNATIVA: proci kroz ceo string, slovo po slovo
- proveriti da li je okviru ASCII tabele
- ili for each petlja za prolazak kroz string
- i proveriti isLetter za svaki element stringa
- najbrzi nacin: preko izraza definisati proveru, Regular Expression, RegEx
- /^[a-z0-9]+$/i
- ^ pocetak stringa
- [a-z] od a do z
- $ kraj stringa
- /i da nije oseltjivo na velika i mala slova
- **********/
- var regEx = /^[a-z]+$/i
- // da li imamo samo slova u stringu? Ako nisu samo slova, greska
- if (!regEx.test(ime) ){
- alert("Greska, ime mora da se sastoji samo od slova!");
- return false;
- }
- if (!regEx.test(prezime)) {
- alert("Greska, prezime mora da se sastoji samo od slova!");
- return false;
- }
- // ako je Not A Number, greska
- if ( isNaN(jmbg) ){
- alert("Greska, jmbg mora biti iskljucivo numericki");
- return false;
- }
- /* validacija mejla */
- var gdeJeAT=mejl.indexOf("@"); // nadjemo @
- var gdeJeTacka =mejl.lastIndexOf(".");
- /* moramo da proverimo gde nam stoji @ simbol gde stoji .
- mejl je validan ako je @ znak na barem drugoj poziciji (indeks >= 1)
- x@x.nesto
- nije validno ovo: @nesto.com
- ILI
- ako je tacka odmah posla AT
- 012345 <= indeksi stringa mejl
- a@x.rs
- Tacku ocekujemo na poziciji gdeJeAt a to je 1, plus dva napred, a to je poz 3
- ILI nema niceg posle tacke
- lol@lol.
- 01234567
- 012345678
- lol@lol.x <== nema domena sa 1 slovom
- ako je tacka + 2 >= duzine stringa
- ZNACI , ako nema NICEG posle tacke ili samo jednog slova i tada nije validno
- */
- if (gdeJeAT < 1 || gdeJeTacka < gdeJeAT +2 || gdeJeTacka+2 >= mejl.length){
- alert("Mejl adresa nije u redu!");
- return false;
- }
- /* ako smo stiglo dovde, znaci da je sve ilo ok, vracamo true */
- return true;
- }
- </script>
- </head>
- <body>
- <!-- izvrsavanja slanja podataka zavisi od povratne vrednosti funkcije
- za validaiciju -->
- <form id="frmMojaForma" onsubmit="return validacija();">
- <!-- moglo bi da se stavi svako polje forme u tabelu -->
- <!-- definisemo koja se funkcija poziva na promenu -->
- Ime: <input type="text" name="txtIme"> <br>
- Prezime: <input type="text" name="txtPrezime"><br>
- Mejl: <input type="text" name="txtMejl"><br>
- Maticni broj: <input type="text" name="txtJMBG"><br>
- <input type="submit" value="Proveri podatke">
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement