Űrlap fontos lehet, egy e-mail cím ellenőrzése.
Csak a cím formai helyességét tudjuk vizsgálni.
Például, minden e-mail címben ezeket:
Ilyenek például:
- A @ karakter elött : MTV = 3 karakter
- A @ karaktert követő : atv = 3 karakter; gmail = 5 karakter; freemail = 8 karakter; .hu; .com; .eu; .net; stb
A fentiekből adódik:
Legrövidebb e-mail cím így nézhet ki: mtv@atv.hu = 10 karakter.
Leghosszabb így nézhet ki: Veresegyhazaiasszonyoktancegyuttese@veresegyhaza.com = 52 karakter.
Szövegrész keresésére változóban, azaz hányadik karakternél kezdődik a keresett szöveg.
Négy lehetőségünk van:
- Keresés a karakterlánc elejétől: indexOF (Keresett szó beírása)
- Keresés a karakterlánc egy adott pontjától : indexOF (Keresett szó beírása, és hányadik karaktertől)
- Keresés a karakterlánc végétől visszafelé: lastIndexOf (Keresett szó beírása)
- Keresés a karakterlánc egy adott pontjától visszafelé: lastIndexOf (Keresett szó beírása, és hányadik karaktertől)
Irassunk ki egyetlen egy karaktert a charAt() függvénnyel.
Szövegsorban hányadik karaktert keressük, függvény zárójelei közé írjuk.
szoveg= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
document.write (szoveg.charAt(0)); (kapott érték= A - betű)
document.write ("<br />");
document.write (szoveg.charAt(14)); (kapott érték= O - betű)
Űrlap programunk!
<body> <form name="form_email"> <p> <input type="text" name="email" size="20" id="email"> <br /> <input type="button" value="TESZT" onclick="emailCheck(form_email.email)"> <input type="reset" name="reset" value="Törlés"> </p> </form> </body>
Végezzük el a tesztet, írjunk be egy e-mail címet.
JavaScript programunk!
<head> <script language="JavaScript"> <!-- A JavaScript kód elrejtése function emailCheck(mezo) { szoveg = mezo.value; szoveghossza=(szoveg.length); if ((szoveghossza>9) && (szoveghossza<52)) { reszek=szoveg.split(" "); egy=reszek[0]; ketto=reszek[1]; if(ketto != undefined) { alert("Nem elfogadott! Szokoz nem lehet az e-mail-ben!"); return false; } else{ kukac_pozicio=szoveg.indexOf('@'); kukac_pozicio02=szoveg.lastIndexOf('@'); if ((kukac_pozicio>2 && kukac_pozicio==kukac_pozicio02)) { pont=szoveg.indexOf('.'); pont_pozicio=(kukac_pozicio+3); if ((pont>pont_pozicio && szoveg.indexOf('.')>szoveg.length-5)) { alert("Ez elfogadhato e-mail nev!"); return true; } else{ alert("Nincs pont, vagy rossz pozicioban van!"); return false; } } else { alert("Problema a @ karakter:NINCS, rossz helyen van, vagy tobbet is beirtal!"); return false; } } } else{ alert("Rovid, vagy tul hosszu e-mail nev!"); return false; } } // --> </script> </head>
Az általunk létrehozott emailCheck() nevű függvény végzi az ellenőrzést.
Paraméternek a vizsgált űrlapmezőt várja, mely értékét beteszi a szoveg
nevű változóba.
A szoveg.indexOf('@') függvénnyel lekérdezzük szöveg elejétől a '@' helyét.
Ha ez nagyobb, mint 2 (azaz nem az első és második karakter) akkor elfogadható.
A szoveg.lastIndexOf('@') függvénnyel lekérdezzük szöveg végétől visszafelé a '@' helyét.
Ha a kapott érték egyenlő az elöbbi lekérdezés eredményével, akkor elfogadható.
Ha a kapott érték nem egyenlő az elöbbi lekérdezés eredményével, akkor több '@' karakter is szerepel, mely nem elfogadható.
Ezt követően arra vagyunk kíváncsiak, hogy mikor nem jó a cím.(pl.: Nemzetközi jelzésnél, van-e pont)