Modern ismeretek WEB oldalon : Javascript ismertető HTML formátumban

RegExp objektum

A RegExp objektum bemutatása
Elemváltozók (tulajdonságok) :
$[1..9] Csak olvasni lehetJavaScript 1.2Netscape4.0MS IE4.0 Zárójelben megadott kifejezés
Elemfüggvények (metódusok) :
exec()  JavaScript 1.2Netscape4.0MS IE4.0 Illesztőkifejezés végrehajtása
test() JavaScript 1.1Netscape3.0MS IE4.0 Illesztőkifejezés alkalmazása próba képpen

JavaScript 1.2Netscape4.0MS IE4.0A RegExp objektum bemutatása

Az illesztőkifejezés a sztringek kezelésének hatékony eszköze. Egy mintát illesztünk a sztringre, és megvizsgáljuk, hogy a kifejezés illeszkedik-e rá vagy sem. Ha igen, akkor cserét is hajthatunk végre az adott ponton. Többnyire űrlapok tesztelésére, mintakeresésre és szűrésre használjuk. Közvetlenül az alábbi  string metódusok esetében alkalmazzuk : match()  replace() és  search(). Általános formája : kifejezés = /minta/kapcsoló. A JavaScript RegExp objektumot általában futásidőben, dinamikusan hozzuk létre:

Példa:

<html><head><title>Teszt</title>
<script language="JavaScript">
function illeszt(ertek) {
 var kif = /(\w.+)\s(\w.+)/;
 kif.exec(ertek);
 alert(RegExp.$2 + ", " + RegExp.$1);
}
</script>
</head><body>
<form>
<input name="User" value="Előnév utónév">
<input type=button value=
"Vizsgálat" onClick="illeszt(this.form.User.value)">
</form>
</body></html>

Magyarázat:

A példában egy űrlapon egy beviteli mező és egy nyomógomb látható. A gomb megnyomásával az illeszt() függvényt hívjuk meg, melynek paramétere a beviteli mező tartalma. Az illesztő kifejezést, melyet a kif változóban tárolunk, és mely a /.../ közé van zárva, a így kell olvasni : Keresd a tetszőleges számban előforduló betűket számok és vezérlőjelek nélkül, majd az eredményt rakd a : (\w.+)-be. Majd keress egy szőköz jelet, mely után levő tetszőleges betűket rakd a : (\w.+)-be. A két kerek zárójel arra szolgál, hogy a közéjük zárt betűsorozatot külön-külön megszólíthassuk. Tulajdonképpen a következő sorban lévő RegExpr objektum exec() metódusának hívásával hajtjuk végre a vizsgálatot ( illesztést). Egy üzenőablakban megjelenítjük először a második, majd egy vessző után az első kifejezést, tehát felcserélve kiiratjuk a páciens nevének elő RegExp.$1 és utótagját RegExp.$2 .

Az illesztőkifejezések szintakszisa :

Speciális

karakter

Kifejezés

minta

Magyarázat és példa
  /egy/ Illeszkedik bárhol a vizsgálandó sztringben lévő karakterekre Pl : "egybekeltek" , "Nyíregyháza" , "begy"
^ /^mia/ Illeszkedik a vizsgálandó sztring elején (az első szóban lévő) karakterekre.Pl:"miamanó Palapalkó"
$ /mia$/ Illeszkedik a vizsgálandó sztring végén (az utolsó szóban lévő) karakterekre. Pl: "Palapalkó haramia"
* /mia*/ az utolsó karakter 0-szor vagy többször szerepelhet Pl : "harami"
+ /mia+/ az utolsó karakter legalább egyszer szerepel Pl : "miaaaaa"
. /.erem/ Illeszkedik bármely karakterre, (a sorvége jel kivételével), mely az adott helyen szerepel. Pl: "verem", "terem" , "merem"
.+ /.+erem/ Illeszkedik bármely karakterre, adott helyen, tetszőleges számú előfordulással. Pl: "Így kevvverem a kását"
\b /\bki\b/ Csak egész szóra illeszkedik, tehát a "\b"szóhatárt jelent
\B /\Bki\B/ Nem csak egész szóra illeszkedik, tehát a "\B" jelentése : nincs szóhatár
\d /\d.+\B/ Illeszkedik egy számra (0 -tól 9-ig), így a \d jelentése : szám
\D /\D.+/ Ha nem szám akkor illeszkedik rá. Pl:"-fejű" a "7-fejű sárkány" -ban
\f /\f/ Illeszkedik a lapdobás jelre (un. fehér jel)
\n /\n/ Illeszkedik a soremelés jelre (un. fehér jel)
\r /\r/ Illeszkedik a kocsivissza jelre (un. fehér jel)
\t /\t/ Illeszkedik a tabulator jelre (un. fehér jel)
\v /\v/ Illeszkedik a függőleges tabulator jelre : | (un. fehér jel)
\s /\s/ Illeszkedik mindenfajta fehér jelre, tehát a \f\n\t\v-re és a szóköz jelre
\S /\S.+/ Illeszkedik egy bizonyos jelre, mely nem fehér jel, tehát a \f\n\t\v-re és a szóköz jelre nem
\w /\w.+/ Illeszkedik minden alfanumerikus jelre és aláhúzásjelre
\W /\W/ Illeszkedik minden nem alfanumerikus és nem aláhúzás jelre.Tipikus alkalmazási terület : illegális karakterek lekérdezése sajátmegadású nevek esetén
\() /(ki)/ Illeszkedik a "ki"-re és eltárolja. Össz : 9 ilyen illesztőkifejezés tárhely van
/.../g /ki/g Illeszkedik a "ki"-re majd a találati helyeket egy tömbben tárolja el
/.../i /ki/i Illeszkedik a "ki"-re függetlenül attól, hogy kis vagy nagybetűvel írtuk Pl : "ki","Ki","KI" mind találat .

Csak olvasni lehetJavaScript 1.2Netscape4.0MS IE4.0 $[1..9]

$1-9 tárhelyen eltárolja egy illesztőkifekjezés zárójelben levő részét.

Példa:

<html><head><title>Teszt</title>
</head><body>
<script language="JavaScript">
 verzio = /(\d)/;
 verzio.exec(navigator.userAgent);
 document.write("A Browser verziója : " + RegExp.$1);
</script>
</body></html>

Magyarázat:

A példában a létrehozunk egy illasztőkifejezést verzio néven, melyben egy számot keresünk az alábbi módon : = (\d) Ezt a kifejezést aztán a  navigator userAgent elemváltozóra illesszük, mely a böngésző teljes verziószámát tartalmazza.


JavaScript 1.2Netscape4.0MS IE4.0 exec()

Végrehajtja a kifejezés illesztését a karakterláncra.

Példa:

<html><head><title>Teszt</title>
</head><body>
<script language="JavaScript">
 mondat = "Ki a Tisza vizét issza, vágyik annak szive vissza";
 keress = /(issza)/g;
 eredmeny = keress.exec(mondat);
 document.write(eredmeny.length + " : találat");
</script>
</body></html>

Magyarázat:

Az illesztőkifejezés találatait egy tömbben tároljuk el, majd a találatokat kiiratjuk.


JavaScript 1.1Netscape3.0MS IE4.0 Test()

Megadja, hogy az illesztőkifejezésnek megfelelően van e találat vagy nincs. A visszatérő érték true ha talált ilyet a próba során és false, ha nem.

Példa:

<html><head><title>Teszt</title>
</head><body>
<script language="JavaScript">
 mondat = "Ki a Tisza vizét issza, vágyik annak szive vissza";
 keress = /(issza)/g;
 eredmeny = keress.Test(mondat);
 if(eredmeny == false)
 document.write("Nincs találat");
</script>
</body></html>
StartVissza egy lapotFel a lap elejéreTovább egy lapot

Készült : 1999-08-31Lengyel Sándor