Hová jutunk?

Telefonszámok ellenőrzése.

Űrlap, telefonszámok mezőjének ellenőrzése.

Űrlapoknál, a telefonszámok ellenőrzésére, több lehetőségünk is van:

  1. Meghatározhatjuk, csak számok lehetnek, melyeket folyamatosan kell, beírni.
    • Ebben az esetben megfelel a NUMERIKUS, azaz egészszámok ellenőrzésénél ismertetett ellenőrzési mód is.

  2. Meghatározhatunk mintát is, azaz milyen karakterek szerepelhetnek az űrlapmezőben.
    Például:
    • szóközt: 123 456
    • kötőjelet: 123-456
    • zárójelet (): (1)123-456
    • a / jelet: (1)123-456 /123
    • számokat 0-tól 9-ig: 0,1,2,3,4,5,6,7,8,9,
    • minimum darabszámot: Minimum 7, azaz hetes számnak szerepelni kell!

 


 

Ű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>

 


 

Telefonszám:

 


 

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.