TietokoneetOhjelmointi

Javascript, säännöllinen lauseke esimerkkejä, tarkista Vakiolausekehaku

Ennen kynnyksellä hyperteksti kieli, vaan, kunnes selvisi, että meidän ei pidä etsiä, vaan tehdä niin tietyin edellytyksin, tietyssä paikassa, alle muuttuneet tiedot oikeita määriä, tavallinen etsi ja korvaa -toiminto järjestänyt hienostuneen ohjelmoija. Luo mestariteoksia taiteen toimialalla ohjelmointikieliä ja tietokanta kunnostautunut muodoista näytteenotto-olosuhteet, joissa tallennetut, laukaisee ja muita keinoja vieviä näyte ihmissuhteisiin tiedot kappaleita. Ulkonäön säännöllinen lauseke vallankumous ei johtanut, mutta se oli hyödyllinen ja kätevä tapa etsiä ja korvata tiedot. Esimerkiksi säännöllisiä lausekkeita JavaScript sähköpostia yksinkertaistaa huomattavasti rekisteröinti kävijöitä, älä lataa verkkosivuilla lähettämällä viestejä olemattomat osoitteita.

Sanoa, että JavaScript säännöllinen lauseke on paljon parempi produmannnyh sekvenssit indexOf () puhelut kehyksessä tavanomaisten syklisten ja operaattorit, voi vain sanoa, että se on tehnyt käsikirjoituksen koodi on pienikokoinen, mutta vähän ymmärrettävissä maallikoita, voidaan yksiselitteisesti.

Esine regexp = + mallin moottori

Säännöllisiä lausekkeita - on malli + moottori. Ensimmäinen on todella säännöllinen lauseke - JavaScript olio - regexp, toinen - tämän mallin esiintyjä, soveltaa sitä linjaa. Moottorit, jotka toteuttavat säännöllisiä lausekkeita jokaiselle ohjelmointikieli ovat erilaisia. Ja vaikka kaikki erot ovat merkittäviä, on syytä muistaa, sekä varmista huolellisesti tarkistaa säännöllinen lauseke ennen sen toimintaan.

Erityinen merkintä kirjoitettaessa säännöllisiä lausekkeita on melko helppo käyttää ja varsin tehokas, mutta se vaatii ylläpitoa, siisteyttä ja kärsivällisyyttä kehittäjältä. Nuotista vakiolausekkeesi kuvioita täytyy tottua. Tämä ei ole villitys, se on logiikka täytäntöönpanomekanismista «JavaScript säännöllisiä lausekkeita."

säännöllisen lausekkeen kaava

Sallitut kaksi vaihtoehtoa:

var expOne = / abc * / i;

var expTwo = säännöllinen lauseke ( "abc *", "i");

Tyypillisesti se käytetään ensimmäistä menetelmää. Toisessa tapauksessa, lainausmerkkejä, koska käyttämään merkki '\', se on karannut yleisten sääntöjen.

'I' - Lippu käy ilmi "tapaus tunteettomia". Voit myös käyttää lippuja g '- «Globaali Haku' ja 'm' - monirivistä haku.

Symboli '/', joka osoittaa yleistä käyttää mallina.

Alun ja lopun säännöllinen lauseke

The '^' määritellään merkki (s), josta aloittaa säännöllisen lausekkeen, ja '$' määrittää, mikä merkki (s) on oltava lopussa. Sinun ei pitäisi kokeilla ne sisällä lausekkeen, jossa heillä on eri merkitys.

Esimerkiksi,

var eRegExp = uusi säännöllinen lauseke (cRegExp, 'i');

var cRegRes = '';

var sTest = 'AbcZ';

jos (eRegExp.test (sTest)) {

cRegRes + = '- Kyllä';

} Else {

cRegRes + = '- ei';

}

var dTestLine = document.getElementById (scTestLine ');

dTestLine.innerHTML = 'Expression /' + cRegExp + '/ riville "' + sTest + '"' + cRegRes.

Elementti 'scTestLine' johtaa (cRegExp muuttuja on vastaava merkitys):

ilmaisun / ^ AbcZ $ / merkkijonon "abcz" - Kyllä

Jos poistat i-lippu, tulos on:

ilmaisun / ^ AbcZ $ / merkkijonon "abcz" - No

Sisällön säännöllinen lauseke

Säännöllinen lauseke on merkkijono, joka on tehty haku. Ilmaisu / qwerty / etsivät merkintä on tässä järjestyksessä:

ilmaisun / qwerty / jousikvartetille "qwerty" - Kyllä

ilmaisun / qwerty / jousikvartetille "123qwerty456" - Kyllä

The '^' muutokset ovat ilmaisuja:

ilmaisun / ^ qwerty / jousikvartetille "123qwerty456" - No

ilmaisun / ^ qwerty / jousikvartetille "qwerty456" - Kyllä

Vastaavasti rivin loppuun symboli. Säännöllisiä lausekkeita mahdollistavat johdonmukaisuuden: esimerkiksi [az], [AZ], [0-9] - kaikki aakkosten tässä tapauksessa tai lukuja. Venäjän kirjaimia voidaan myös käyttää, mutta pitäisi kiinnittää huomiota koodauksen jouset (jota haetaan, että haetaan) ja sivuja. Usein Venäjän kirjaimia sekä erikoismerkkejä, se on edullista asettaa koodeja.

Kun muodostetaan säännöllinen lauseke voi määrittää vaihtoehtoja läsnä tiettyjen symbolien tietyssä paikassa, jossa niiden määrä annetaan seuraavasti: '*' = 0 toistoa tai useampia kertoja; '+' = 1 tai enemmän toistokertojen; {1} on sama, kuin '+'; {N}: = toistoa täsmälleen n kertaa; {N,} = n toistoa kertaa tai enemmän; {N, m} = toistoa n ja m kertaa.

Käyttämällä suluissa, voit määrittää merkistön vaihtoehtoja. Se näyttää tältä. [Abcd] = [ad] = joka neljäs symboli: 'a', 'b', 'c' tai 'd'. Voit määrittää toisin. Mikä tahansa merkki muut kuin ne, jotka on asetettu: [^ abcd] = mikä tahansa merkki muu kuin 'a', 'b', 'c' tai 'd'. '?' Se osoittaa, että tässä vaiheessa symboli voi olla. '' määritetään mahdolliset muut merkit paitsi osoittaa rivinvaihtomerkki. Tämä '\ n', '\ r', '\ u2028' tai '\ u2029'. Ilmaisu '\ s * | \ S *' = '[\ s | \ S] *' tarkoittaa etsiä tahansa merkkejä, myös rivinvaihdot.

Yksinkertaistettuja versioita säännöllinen lauseke

Ilmaisu '[\ s | \ S] *' - etsintäavaruudessa, tai sen puute, joka on kaikki mitä on vaakalaudalla. Tässä tapauksessa symboli '\ s' tarkoittaa tilaa, ja '\ S' - hänen poissaolonsa.

Vastaavasti voit käyttää '\ d' etsimään desimaalinumerossa ja '\ D' löytää ei-numeerinen merkki. Merkintä '\ f', 'r' ja '\ n' vastaavat muodoltaan rehu, rivinvaihto ja rivinvaihto.

Välilehteä luonne - '\ t', pysty - '\ v'. Nimitystä '\ w' havaitsee latinalaisia kirjaimia merkin (kirjaimia, numeroita ja alaviivoja merkki) = [A-Za-z0-9_].

Nimitystä '\ W' vastaa [^ A-Za-z0-9_]. Tämä tarkoittaa mitä tahansa merkkiä, joka ei ole aakkosten kirjain, numero tai '_'.

Hae hahmoa '\ 0' = search NUL merkkiä. Haku '\ xHH' tai '\ Uhhhh' = Hae hahmoa koodin tai HHHH HH vastaavasti. H - heksadesimaaliluku.

Suositeltu sanamuoto ja koodaus säännöllinen lauseke

Tahansa säännöllinen lauseke on tärkeää huolellisesti testattu eri versioita rivejä.

Kun kokemusta luoda säännöllinen lauseke virhe on pienempi, mutta silti on aina pidettävä mielessä, että omaa tietämystään sääntöjen kirjoittamisen säännöllisiä lausekkeita voi olla totta, varsinkin kun "runkosarjan" siirretään kielestä toiseen.

Valitsemalla klassista (tarkat tiedot) ja yksinkertaistettu versio säännöllinen lauseke, on parempi mieluummin ensin. Loppujen lopuksi klassikoista on aina selvästi, että molemmat haetaan. Jos säännöllinen lauseke tai hakusanan on Venäjän kirjaimia, pitäisi johtaa yhden koodaavat kaikki linjat ja millä sivulla toimii löytää JavaScript-koodin suorittaa säännöllinen lauseke.

Kun on luonteeltaan käsittely, ei-latinalaisia kirjaimia, on järkevää harkita osoitus merkkikoodeja, eikä merkkejä itse.

Kun toteutetaan Hakualgoritmit JavaScript säännöllinen lauseke olisi tarkistettava huolellisesti. On erityisen tärkeää kontrolloida merkkikoodauksen.

Suluissa on säännöllinen lauseke

Suluissa määritellään vaihtoehtoja symboli, joka on tai voi olla tietyssä paikassa, ja pyöreä - sekvenssin variantteja. Mutta tämä on vain yleinen sääntö. Siitä ei ole poikkeus, mutta on monenlaisia sovelluksia.

var cRegExp = "[az] * (png | jpg | gif).";

var eRegExp = uusi säännöllinen lauseke (cRegExp, 'i');

var cRegRes = '';

var sTest = kuva.jpg;

jos (eRegExp.test (sTest)) {

cRegRes + = '- Kyllä';

} Else {

cRegRes + = '- ei';

}

tulokset:

/[az]*.(png|jpg|gif)/ lauseke linjan "picture.jpg" - Kyllä

/^[ad][az]*.(png|jpg|gif)/ ilmaus "picture.jpg" linja - Ei

/^[ad][az]*.(png|jpg|gif)/ lauseke linjan "apicture.jpg" - Kyllä

/^[ad][az]*.(png|jpg|gif)/ ilmaus "apicture.jg" linja - Ei

On huomattava, että kaikki, niin tähdellä voi olla läsnä nolla kertaa. Tämä tarkoittaa, että "runkosarjan" saattaisi toimia arvaamattomasti ainakin.

Tarkista regexp - testaus sähköposti

Säännöllisin JavaScript lauseke saadaan kahta menetelmää, testi ja Exec, ja voidaan käyttää radoilla esineitä (String) niiden menetelmien (toiminnot): haku, split, vaihda ja ottelu.

testausmenetelmä on jo osoitettu, sen avulla voit tarkistaa oikeellisuuden säännöllinen lauseke. Tapa Tulos: tosi / epätosi.

Mieti seuraava JavaScript säännöllisiä lausekkeita. Tarkista sähköpostin lukumäärästä "vaikeaa, mutta varmasti":

var eRegExp = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s @ "] +) *) | (." + ")) @ ((\ [[0-9] {1,3} \ [0-9] {1,3} \ [0-9] {.. . 1,3} \ [0-9] {1,3}]) | (([a-zA-Z \ -0-9] + \.) + [a-zA-Z] {2}) ) $ /;

merkkijono var sTest ='SlavaChip@sci.by 'antaa tosi, niin on tämä merkkijono on oikea sähköpostiosoite. Tarkastus suoritettiin eRegExp.test (sTest).

Käytännön merkitys: hoito Sähköposti

Exec menetelmä antaa ulostulo-array, soita:

var aResult = eRegExp.exec (sTest);

cRegRes = '
' + aResult.length + '
';
ja (var i = 0; i cRegRes + = aResult [i] + '
';
}

Se antaa seuraavan tuloksen:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
määrittelemätön
sci.by
määrittelemätön
sci.by
Sei.

Muut menetelmät toimivat samalla tavalla. On suositeltavaa tarkistaa ne pois itse. Kehittäminen ja käyttö säännöllisiä lausekkeita, on suotavaa työskennellä käytännössä, koodi kopiointi ei ole aina suositeltavaa täällä.

Suosittu "runkosarjan"

JavaScript säännöllinen lauseke annetaan sfihk paitsi on paljon helpommin vaihtoehtoja. Esimerkiksi, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Kuitenkin tässä sovelluksessa otetaan huomioon kaikki esillä sähköpostiosoitteen ennätys.

Tietenkin, sinun täytyy tarkastella kokemusta kollegoiden analysoimaan miten niiden ehdotetut ennen suunnitella omia JavaScriptiä säännöllisiä lausekkeita. Mutta on olemassa joitakin ongelmia. Emme saa unohtaa, että JavaScript säännöllisiä lausekkeita (esimerkkejä kopioitaessa) voidaan monistaa olennaista merkkiä: '\', '/' tai lainauksia. Tämä johtaa virhe, jonka voit etsiä pitkään.

On tärkeää ottaa huomioon tavanomaiset "inhimillinen ulottuvuus." Muodollisten JavaScript säännöllinen lauseke, joka saattaa olla vierailija (henkilö), se annetaan eri tavoin: 123-45-67, (29) 1234567, 80291234567 tai 375291234567. Ja se on aivan sama numero. Oikeinkirjoitus useita malleja ei ole aina hyväksyttävää, ja jäykkä kiinnitys Säännöt kirjoittamiseen numeroita saattaa aiheuttaa tarpeettomia epämukavuutta tai rajoituksia. Vaihtoehto / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i sopii useimmiten tarkistaa puhelinnumerosi.

Jos haluat tehdä JavaScript säännöllisiä lausekkeita, vain numerot tarkastuksia, vaikka tällainen yksinkertainen asia vaatii selvennystä. Sitä olisi pidettävä kokonaisluku tai murtoluku, tieteellistä esitystä tai normaali, positiivinen tai negatiivinen kokonaisluku. Voit myös ottaa huomioon olemassaolon valuuttasymbolin, numeroiden määrä desimaalipisteen jälkeen ja jako koko osan numero kolmikko.

Ilmaisu / ^ \ d + $ / i tarkistaa vain numeroita ja /^\d+\.\d+$/i ilmaisu sallii pisteen osoittamiseksi murto-osan määrän.

JavaScript tarkkailun säännöllisiä lausekkeita voidaan käyttää osoittamaan muotoon kovan tulodatan, joka on tärkeää erityisesti silloin, kun tulevat profiilit, passi tiedot, ja oikeudellisten osoitteet t. D.

Tarkista päivämäärät - yksinkertainen monimutkainen

Harkita toista JavaScript säännöllisiä lausekkeita. Esimerkkejä tähän mennessä, kuten puhelinhaastatteluita luvut edustavat valita jäykkyyden ja joustavuuden. Tapahtuman päivämäärä - yksi keskeinen tiedon, joka on usein annetaan. Mutta vahvistamisesta tulo tietyssä muodossa: "pp-kk-vvvv 'tai' d.m.gg 'johtaa usein asiakkaan tyytymättömyys. Siirtyminen syötekenttään päivän usean kuukauden, täynnä Classic HTML-muodossa, ei voi tapahtua, kun kirjoitat vain yksi numero, ja toinen tulo voi olla vaikeaa. Esimerkiksi alalla jona se otettiin käyttöön 3 ja seuraava numero 2 ei korvaa ensimmäisen, ja johtuu hänen 32, joka tietenkin aiheuttaa haittaa.

Kustannustehokkuutta sekä säännöllisiä lausekkeita riippuvat oleellisesti yleistä rakennetta vuoropuhelua vierailija. Yhdessä tapauksessa ilmoittamaan päivän on suositeltavaa käyttää yhtä syöttökenttään lomakkeen, toisessa tapauksessa on tarpeen säätää eri alojen päivä, kuukausi ja vuosi. Mutta sitten ylimääräisiä "kustannuksia koodin" tarkistaa karkausvuosi, kuukausien määrä, päivien lukumäärällä niihin.

Etsi ja korvaa, säännöllinen lauseke muistin

JavaScript korvaa (säännöllisiä lausekkeita) menetelmällä String objekti ja antaa meille mahdollisuuden löytää arvoa ja muuttaa sitä välittömästi. Tämä on hyödyllistä korjaamiseksi kirjoitusvirheitä, muokata sisältöä lomakkeen kenttiä ja muuntaa datan yhden esityksen formaatista toiseen.

var cRegExp = / ([a-z] +) \ s ([a-z] +) \ s ([a-z] +) / i; // etsittäessä on kolme 'muuttujia'

var sTest = 'tämä artikkeli on hyvä!';
var cRegRes = sTest.replace (cRegExp, "2 $, 3 $ 1");

var dTestLine = document.getElementById (scTestLine ');

dTestLine.innerHTML = 'ilmaisua' + cRegExp + 'merkkijonon "' + sTest + '" turn:' + cRegRes;

tulos:

lauseke / ([az] +) \ s ([az] +) \ s ([az] +) / i linjan "tämä artikkeli on hyvä!" out: artikkeli on hyvä, tämä!

Suoritettaessa kunkin parin sulkeissa tallentaa tuloksen 'muuttuvia', $ n, jossa n - lukumäärä kiinnike parit (1 $, 2, ...). Toisin kuin perinteiset, tässä muuttuja numerointi on 1, ei ole 0.

Yleiset suositukset

Säännöllinen lauseke yksinkertaistaa koodia, mutta aikaa kehittää se usein tekee eron. Voit aloittaa yksinkertaisia malleja ja sitten tehdään yhdistää osaksi monimutkaisempia lausekkeita. Voit käyttää erilaisia verkkopalveluja testata säännöllisiä lausekkeita tai erityisiä paikallisia työkaluja.

Paras vaihtoehto luo oman kirjaston säännöllisiä lausekkeita ja omia työkaluja testata uutta kehitystä. Tämä on paras tapa vahvistaa kokemusta ja oppia nopeasti rakentaa luotettavia ja mukava muotoilu.

Käyttäen toistaminen hahmoja ja jousille, eli erikoismerkkejä '*', '+' ja henkselit, osoittaa toistojen määrä olisi noudatettava periaatteita yksinkertaisuuden ja tarkoituksenmukaisuuden. On tärkeää ymmärtää, että säännöllinen lauseke alkuun työnsä, ja saada tulos on kokonaan moottorin teho käyttämän selaimen. Kaikkia kieliä vastaavat JavaScript. Jokainen selain voi tuoda henkilökohtaisten mieltymysten tulkinnassa säännöllisiä lausekkeita.

Yhteensopivuus ei ole vain sivuja ja tyylisivut, säännöllisiä lausekkeita, se on myös tehtävä. Sivun käyttää JavaScriptiä, voidaan pitää hyvin toimivan vasta, kun se on toiminut menestyksekkäästi erilaisilla selaimilla.

JavaScript, String ja regexp

Oikealla työpaikan asiakkaan tasolle, eli kävijän selaimen JavaScript, se vaatii korkeaa koulutusta kehittäjä. Tarpeeksi kauan on mahdollisuus debug JavaScript-koodia selaimen omista varoista tai avulla kolmannen osapuolen laajennuksia, koodi toimitukselle itsenäisiä ohjelmia.

Kuitenkin, etteivät kaikki tapaukset, debuggeri voi käsitellä ja antaa hyvän tuen kehittäjä, nopea virheiden havaitsemiseen, tunnistaa pullonkauloja. Aikoja, jolloin tietokone on keskittynyt laskelmien kaukaisessa menneisyydessä. Nyt kiinnittää erityistä huomiota tiedon ja viiva esineet ovat tulleet merkittävä rooli. Määrä teräskielet, ja niiden todellisen luonteen ne ilmenevät vain oikeaan aikaan ja oikeassa paikassa.

Säännöllisiä lausekkeita vahvistaa mahdollisuutta linjat, mutta vaativat itsekunnioitus. Debug regexp työssään, vaikka se on mahdollista simuloida, ei liian mielenkiintoinen ajatus.

Ymmärtäminen rakenne ja logiikka regexp objekti, eli esine String, syntaksin ja semantiikan JavaScript - todellinen turvallisen koodin, vakaan toiminnan jokaisen sivun ja sivuston kokonaisuudessaan.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fi.delachieve.com. Theme powered by WordPress.