Űrlapoknál, a telefonszámok ellenőrzésére, több lehetőségünk is van:
Űrlapunk megírása:
<body> <form name="telefon"> <p><b><u>Telefonszám:</u></b><br /> <input type="text" name="telefonszam" size="20"> <br /> <input type="button" value="TESZT" onclick="telefonCheck(telefon.telefonszam)"> <input type="reset" value="Törlés"> </p> </form> </body>
Programunkat megírhatjuk közvetlen a head szakaszban, vagy külön js fájlban.
Ha a head szakaszba írjuk, akkor csak az adott oldalon alkalmazható.
Ha külön js fájlba írjuk, akkor tetszőleges weboldalunk, űrlapjához is.
JavaScript programunk megírása:
<head> <script language="JavaScript"> <!-- A JavaScript kód elrejtése function uresCheck(mezo) { if (mezo.value != "") return true; else{ alert("Üres mező!"); return false; } } function rovid(mezo) { ertek=mezo.value; hossza=(ertek.length); if (hossza > 7) return true; else{ alert("Rovid a megadott adat!"); return false; } } function teszt(adat,minta) { for (var i=0; i<adat.length; i++) if (minta.indexOf(adat.charAt(i)) == -1) return false; return true; } function tartalmaz(adat,minta) { for (var i=0; i<adat.length; i++) if (minta.indexOf(adat.charAt(i)) != -1) return true; return false; } function telefonCheck(mezo) { if (!uresCheck(mezo)) return false; if (!rovid(mezo)) return false; if (!teszt(mezo.value,"1234567890()/- ") || !tartalmaz(mezo.value,"1234567890")) { alert("Ez, nem jó telefonszám!"); return false; } else{ alert("Elfogadható telefonszámnak tűnik!"); return true; } } // --> </script> </head>
Hogyan működik programunk:
Általunk elkészített telefonCheck() függvény végzi az ellenőrzést.
Paramétere a vizsgált űrlapmező.
Függvényünk először, if (!uresCheck(mezo)) return false; meghívja az uresCheck() függvényt.
Ha ez hamis értéket ad vissza (azaz, üres volt a mezőnk), akkor az utasítás igaz lesz, és a függvény hamis értékkel tér vissza.
Függvényünk másodszor, if (!rovid(mezo)) return false; meghívja az rovid() függvényt.
Ha ez hamis értéket ad vissza (azaz, rövid a megadott adat hossza), akkor az utasítás igaz lesz, és a függvény hamis értékkel tér vissza.
A teszt() függvény teszteli, hogy a paraméterként átadott adat minden karaktere
szerepel-e a szintén paraméterként átadott minta stringben.( minta = 1234567890 )
Vizsgálat egy for ciklussal történik, amely az adat összes karakterére lefut, közben azt
vizsgálja, hogy az aktuális karaktert, tartalmazza-e a minta.
Az tartalmaz() függvény, akkor ad hamis értéket, ha a paraméterként átadott adat egyetlen karaktere sincs benne a minta sztringben.
Ez alapján az ellenőrzést végző telefonCheck() úgy működik, hogy az uresCheck() függvénnyel ellenőrzí, nem üres-e az űrlapmezőnk, és a rovid() függvénnyel ellenőrzí a beírt adat hosszát.
Majd, az if feltétel if (!teszt(mezo.value,"1234567890()/- ") || !tartalmaz(mezo.value,"1234567890"))
akkor lesz igaz, ha vagy a teszt(), vagy a tartalmaz()
függvény hamis értéket ad vissza.
Ekkor rossz telefonszámot írtunk be, amire hibaüzenet figyelmeztet bennünket és a függvény hamis értéket ad vissza.