Početna

   Video tutorijali

   HTML

   CSS

   JavaScript

   SMIL

   Windows XP

   Mreže

   XML i XSL

   Ostalo



Zapamti me
  Lozinka       Registracija
   O Svemu

Apartmani Djurovic

MrdniSe

MrdniSe

Regularni izrazi


Manipulacija podacima koji se unose u web forme je najčešća zadaća upravo JavaScript-a. Sa njim provjeravamo da li su svi potrebni podaci uneseni prije nego ih pošaljemo na obradu na server. Osim toga, moramo provjeriti da li su podaci ispravno uneseni, u pravilnom formatu. Tu nastupaju regularni izrazi. Regularni izraz je niz znakova, uzorak, koji definira kako neki tekst mora izgledati. Tekst koji provjeravamo mora pratiti taj uzorak, regularni izraz, ili će biti odbačen kao nevaljan unos.


Za početak napravimo regularni izraz za tekst koji sadrži "http" unutar sebe.


var uzorak = /http/; // ili mozemo napisati: var uzorak = new RegExp("http")



Uzorak zapisujemo između dva / znaka. Za definiranje uzorka možemo koristiti i RegExp(), kako god želimo. Ovaj izraz čitamo na sljedeći nađin: "h" iza kojeg ide "t" iza kojeg ide "t" iza kojeg ide "p". Bilo koji tekst koji sadrži ovaj uzorak će se priznati kao točan. Idemo sada provjeriti da li neki tekst odgovara uzorku.


var uzorak = /http/; var tekst = "http://www.osvemu.com"; if (tekst.match(uzorak)) { alert ("Tekst odgovara uzorku."); } else { alert ("Tekst ne odgovara uzorku."); }



Ovaj kod će tražiti u cijelom tekstu "http" i na bilo kojoj poziciji da ga nađe vratit će da tekst odgovara uzorku. Postoje specijalni znakovi, ^ i $, koji rješavaju taj problem. Pogledajmo primjer.


var uzorak = /^http/; var tekst = "http://www.osvemu.com"; if (tekst.match(uzorak)) { alert ("Tekst odgovara uzorku."); } else { alert ("Tekst ne odgovara uzorku."); }
Znak ^ kaže da se ovi znakovi http mogu nalaziti samo na početku teksta kojeg testiramo. Osim ova dva znaka imamo još neke posebne znakove koje ćemo sigurno koristiti.


1. * - znak prije se može ponavljati nula i više puta
2. + - znak prije se može ponavljati jedan ili više puta
3. ? - znak prije se može ponavljati nula ili jedan put
4. {m, n} - znak prije se može ponavljati najmanje m puta, a najviše n puta
5. {m, } - znak prije se može ponavljati m ili više puta
6. {m} - znak prije se može ponavljati točno m puta


Pokušajmo sada napraviti uzorak za datum. Datum ima format 21.4.2007. Imajući na umu kako izgleda datum i od čega se sastoji njegov zapis imamo sljedeće:


var uzorakdatum = /^\d{1,2}(\.|\/|\-)\d {1,2}(\.|\/|\-)\d{4}$/; var tekst = "21.4.2007"; if (tekst.match(uzorak)) { alert ("Tekst odgovara uzorku."); } else { alert ("Tekst ne odgovara uzorku."); }



Sada se sigurno pitate odakle ovoliko nejasnih znakova u uzorku. Ali ovo je ustvari veoma jednostavan primjer. Regularni izraz smo započeli sa znakom / nakon kojega ide znak ^\d{1,2} kao oznaka da na samom početku mora doći broj (\d) koji ima najmanje 1, a najviše dvije znamenke ({1,2}). Nakon broja dolazi "." ili "/" ili "-". Opet ovdje imamo broj (\d) koji može imati najmanje 1, a najviše 2 znamenke ({1,2}). Opet nakon mjeseca dolazi "." ili "/" ili "-" pa broj od točno četiri znamenke \d{4} koji mora doći na kraju ($). Pošto se regularni izraz najčešće koristi za provjeru ispravnosti e-mail adrese u ovom dijelu donosimo i taj regularni izraz.


Regularni izraz za e-mail adresu:


var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
Ovaj dio nećemo objašnjavati jer je puno duži. Probajte sami pojasniti gornji izraz.



Ako ste naučili nešto novo napišite jedan komentar podrške.
Hvala!
Autor: VedranDatum objave: 21.01.2008

KOMENTARI:

Nema još ni jednog komentara.

Samo registrirani korisnici mogu komentirati.

copyright (c) 2008/09 osvemu.com | besplatnitutorijali.com  |   Webmaster   |   Podrška  |   Pravila korištenja