A reguláris kifejezések kezdetét és végét a húr a JavaScript - keresési módszer
Az előző leckében kezdte tanulmányozni a módszert a keresési és a reguláris kifejezéseket. Most majd folytassa ezt a munkát, és megvizsgálja a kifejezés az elején és a végén a sor.
Szigorúan véve, a reguláris kifejezés - egy speciális nyelvi leírására minták vonalak. Ez egy olyan eszköz kíván húrok, ellenőrizze azokat betartását minden sablont, és más hasonló művek. Az ezen eszköz végrehajtásához eltérő a különböző programozási nyelvek. bár nem sok.
Ezen az oldalon lehet letölteni www.exlab.net puska reguláris kifejezések. Vagy töltse le a fájlt az alábbi linkre.
Eljárás keresés - reguláris kifejezés - - pontosan n
Visszatérve a példa az előző leckét. ahol a segítségével a \ d. amely azt jelenti, bármilyen számot 0 és 9 között kerestünk sorozata hat számjegy. Ez volt a \ d jelzik hatszor.
var index = prompt ( „Adja meg az irányítószámát hatjegyű”);
var rendszeres = / \ d /; / * A reguláris kifejezések: \ d és - egy sorozat hat számjegy * /
var eredmény = index. Keresés (rendszeres); / * Keresünk egy mintát egy string * /
/ * Ezután töltsük fel feltétele az ellenőrzéshez. * /
ha (eredmény == -1)
dokumentumot. write ( „rosszul adta meg a kódot - meg kell állnia hat számjegy”);
>
más
dokumentumot. write ( "A kód" + index);
>
keresési módszer - reguláris kifejezés
A jelentése Pontosan 6 (bármilyen számú lehet tüntetni zárójelek).keresési módszer - reguláris kifejezés - ^ - sor elejére
Vessünk egy közelebbi pillantást az előző példában.
Tegyük fel, hogy a felhasználó megadja a helyes irányítószámot, azaz egy sorban fog hat számból áll, de az első, aki egy pár szót: „My kód 394000”.
Próbálja csinálni, és látni fogja a teljes karakterláncot eredményeként: „My kód 394000”.
Mi lenne, ha csak akkor kell egy irányítószámot.
Ismét utalva a kiságy, hogy egy reguláris kifejezés.
Itt segítünk a reguláris kifejezés ^. ami azt jelenti, a sor elejére.
var index = prompt ( „Adja meg az irányítószámát hatjegyű”);
var rendszeres = / ^ \ d /; / * Reguláris kifejezés: ^ - a sor elejére, \ d és - egy sorozat hat számjegy * /
var eredmény = index. Keresés (rendszeres); / * Keresünk egy mintát egy string * /
/ * Ezután töltsük fel feltétele az ellenőrzéshez. * /
ha (eredmény == -1)
dokumentumot. write ( „rosszul adta meg a kódot - meg kell állnia hat számjegy”);
>
más
dokumentumot. write ( "A kód" + index);
>
Most minden szöveg elé az irányítószámot vezet az a tény, hogy ennek eredményeként megkapjuk a -1. Vagyis, mi itt olvashatók: „Az Ön által megadott hibás kódot - meg kell állnia hat számjegy.”
keresési módszer - reguláris kifejezés - $ - lezárás
Egy másik pont. Véglegesítése vége előtt ebben a példában.
Tegyük fel, hogy a felhasználó újra jelzik a helyes irányítószámot, csak most, hogy írjon egy pár szót utána. "394000 - én index."
Ebben az esetben, a reguláris kifejezés ^ - Első sorban nem fog segíteni. De van egy másik $ - dollár szimbólumot, amely jelzi a sor végét
var index = prompt ( „Adja meg az irányítószámát hatjegyű”);
var rendszeres = / ^ \ d $ /; / * Reguláris kifejezés: ^ - a felső sorban, \ d és - egy sor hat szám, $ - sor vége * /
var eredmény = index. Keresés (rendszeres); / * Keresünk egy mintát egy string * /
/ * Ezután töltsük fel feltétele az ellenőrzéshez. * /
ha (eredmény == -1)
dokumentumot. write ( „rosszul adta meg a kódot - meg kell állnia hat számjegy”);
>
más
dokumentumot. write ( "A kód" + index);
>
Most minden olyan szöveg, amely előtt és után egyaránt az irányítószámot vezet az a tény, hogy ennek eredményeként megkapjuk a -1. Vagyis, mi itt olvashatók: „Az Ön által megadott hibás kódot - meg kell állnia hat számjegy.”
Amellett, hogy ez az! Annak a ténynek köszönhetően, hogy a \ d. azaz egy sorozat 6 számot egyidejűleg adjuk a kifejezést ^ és $ - kezdete és a sor végére, most is nem lesz képes belépni a sorozat 7, 8 vagy több számjegy.
Házi feladat:
Írja meg a működést, mely, mint a paraméter egy változó, amely az ideg és reguláris kifejezés ellenőrzi, hogy a tartalma ennek a változó egy szám vagy nem indult el.
A munkájuk eredményeként funkció jelenik meg.
Változtatható át a funkció: var forTesting = „8 pingvinek és ponty 9”;
Itt fogunk működni a funkciók és if-else állapotban.
var forTesting = "Penguin 8. és 9. ponty";
funkció firstPosition () / * Új funkció * /
var rendszeres = / \ d /; / * A reguláris kifejezés - Digitális * /
var eredmény = forTesting. Keresés (rendszeres); / * Keresünk egy alak vonal * /
if (eredmény == 0) / * Ha ez a szám elején a húr, akkor. * /
dokumentumot. write ( „A sztring kezdődik a számjegyek”);
>
mást / * másként. * /
dokumentumot. write ( „A sor elejére NO számjegy”);
>
firstPosition (forTesting); / * Hívás funkció * /
Megjegyzés. A címzés a fenti, hoztunk létre firstPosition () függvény nélkül egy paramétert a szervezetben a funkciót (az utasítások IT) dolgozott közvetlenül változó forTesting. amelyet azután adott paraméterként egy függvénynek, ha ez az úgynevezett.
var forTesting = "Penguin 8. és 9. ponty";
függvény firstPosition (Ex) / * Készítsen egy funkció - beállítás Ex * /
var rendszeres = / \ d /; / * A reguláris kifejezés - Digitális * /
var eredmény = Ex. Keresés (rendszeres); / * Keresünk egy alak vonal * /
if (eredmény == 0) / * Ha ez a szám elején a húr, akkor. * /
dokumentumot. write ( „A sztring kezdődik a számjegyek”);
>
mást / * másként. * /
dokumentumot. write ( „A sor elejére NO számjegy”);
>
firstPosition (forTesting); / * Hívás funkció * /
Próbálja meg manuálisan első számjegy, majd a szöveget, vagy fordítva. Ehhez használja a módszert prompt.
var forTesting = prompt ( „Enter az első Az ábra akkor a szöveget és fordítva”);
függvény firstPosition (Ex) / * Készítsen egy funkció - beállítás Ex * /
var rendszeres = / \ d /; / * A reguláris kifejezés - Digitális * /
var eredmény = Ex. Keresés (rendszeres); / * Keresünk egy alak vonal * /
if (eredmény == 0) / * Ha ez a szám elején a húr, akkor. * /
dokumentumot. write ( „A sztring kezdődik a számjegyek”);
>
mást / * másként. * /
dokumentumot. write ( „A sor elejére NO számjegy”);
>
firstPosition (forTesting); / * Hívás funkció * /
Megjegyezzük, hogy alkotó feltételt, ha (eredmény == 0). beszéltünk arról, hogy mi érdekli a nulla pont szám egy sorban.
Ezután úgy egy kicsit más megoldás erre a problémára, hogy a feltétel másként áll.
var forTesting = prompt ( „Enter az első Az ábra akkor a szöveget és fordítva”);
funkció firstPosition () / * Új funkció * /
var rendszeres = / \ d /; / * A reguláris kifejezés - Digitális * /
var eredmény = forTesting. Keresés (rendszeres); / * Keresünk egy alak vonal * /
ha (eredmény == -1) / * Ha a vonalak nem számok, akkor. * /
dokumentumot. write ( „string nem úgy kezdődik, a számjegyek”);
>
mást / * másként. * /
dokumentumot. write ( „Az elején a sorszám”);
>
firstPosition (forTesting); / * Hívás funkció * /
Itt mi változott a feltétellel: ha (eredmény == -1). Ebben az esetben, ha először írja be a számot, akkor látni fogjuk, „Kezdetben a sor számát” - azaz, Rendben! De ha először írja be a szöveget, majd a szám - látni fogjuk, az azonos „az elején a sor számát”.
Az a tény, hogy a rekord if (eredmény == -1) azt jelzi, hogy a \ d. Vagyis bármely szám - elvileg a sorban, és nem számít - az elején, akár nem. Ezért, az egyik hozzá kell adni a reguláris kifejezés ^ - sor elejére. Cm. Példa alább.
var forTesting = prompt ( „Enter az első Az ábra akkor a szöveget és fordítva”);
funkció firstPosition () / * Új funkció * /
var rendszeres = / ^ \ d /; / * A reguláris kifejezés - a sor elejére + szám * /
var eredmény = forTesting. Keresés (rendszeres); / * Keresünk egy alak vonal * /
ha (eredmény == -1) / * Ha a sor elején nincsenek adatok, sem. * /
dokumentumot. write ( „string nem úgy kezdődik, a számjegyek”);
>
mást / * másként. * /
dokumentumot. write ( „Az elején a sorszám”);
>
firstPosition (forTesting); / * Hívás funkció * /
Most, ha megpróbál belépni a szöveg első, majd a szám, azt látjuk, „A karaktersorozat nem kezdődik a számokkal.” mivel a reguláris kifejezés ^ \ d azt mondja, hogy ez a szám kell helyezni a sor elejére.