RačunalnikiProgramiranje

Javascript, regularni izraz: primeri, preverjanje regularnih izrazov

Pred prihodom hypertext jezika, temveč, dokler ni postalo jasno, da ne smemo samo pogled, ampak za to pod določenimi pogoji, v določenem kraju, na podlagi spremenjenih podatkov v pravih količinah, običajno iskanje in zamenjavo funkcijo organizirano koli prefinjeno programer. Ustvarite mojstrovine iskanju umetnosti v programskih jezikih, in podatkovne baze odlikoval v oblikah pogojih vzorčenja, ki je opremljen z shranjene procedure, sprožilci in druga sredstva za zajetno vzorčnih relacijska informacijskih skladbe. Videz regularnega izraza v revoluciji ni povzročila, pa je bil koristen in priročen način za iskanje in zamenjavo podatkov. Na primer, regularni izrazi Javascript E-poštni bistveno poenostavi registracijo obiskovalcev, ne naložiti spletno pošiljanje sporočil na neobstoječe naslove.

Če rečemo, da je JavaScript regularni izraz veliko boljše produmannnyh zaporedja indexOf () zahteva v okviru konvencionalne ciklično in operaterji, lahko le rečem, da je dala koda scenarij je kompakten, vendar malo razumljive za nepoučene, lahko nedvoumno.

Predmet regularnega izraza = + predlogo motor

Regularni izrazi - je predlogo + motor. Prvi je pravzaprav regularni izraz - JavaScript objekt - za regularnega izraza, drugi - vzorec izvajalec, ga uporabljajo za črto. Motorji, ki izvajajo redne izraze za vsak programski jezik, so različni. In čeprav niso vse razlike pomembne, je treba spomniti, kot je prepričan, da skrbno preverite regularni izraz pred njegovim delovanjem.

Poseben zapis pri pisanju regularnih izrazov je zelo enostaven za uporabo in zelo učinkovit, vendar pa morate biti zelo previdni, urejenost in potrpljenja od razvijalca. Z zapisom morali navaditi na regularni izraz vzorce. To ni modna muha, da je logika mehanizma za izvajanje «JavaScript regularne izraze."

regularni izraz vzorec

Dovoljeno dve možnosti:

var expOne = / abc * / i;

var expTwo = regularnega izraza ( "abc *", "I");

Običajno se uporablja prvi način. V drugem primeru, citati, ker uporabiti znak '\', je treba pobegnil s splošnimi pravili.

"Jaz - Oznako" primer neobčutljiv ". Lahko uporabite tudi zastav 'g' - «globalno iskanje" in "m" - preiskovalno multi-linijo.

Simbol "/", ki označuje skupno uporabiti predlogo.

Začetek in konec regularnega izraza

V nadaljevanju ^ "določa znak (e) za začetek regularni izraz, in" $ ", določa, kateri znak (i) mora biti na koncu. Ne smete poskus z njimi znotraj izražanja, kjer imajo drugačen pomen.

Na primer,

var eRegExp = novo regularnega izraza (cRegExp, "i");

var cRegRes = '';

var sTest = 'AbcZ';

če (eRegExp.test (sTest)) {

cRegRes + = '- Da ";

} Else {

cRegRes + = '- št';

}

var dTestLine = document.getElementById ( 'scTestLine');

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

V nadaljevanju scTestLine 'elementa povzroči (cRegExp spremenljivka ima ustrezen pomen):

izraz / ^ AbcZ $ / za niz "abcz" - Da

Če odstranite "i" zastavo, je rezultat:

izraz / ^ AbcZ $ / za niz "abcz" - Ne

Vsebina regularni izraz

Regularni izraz je zaporedje znakov, ki je predmet preiskave. Expression / qwerty / išče začetku je to zaporedje:

izraz / qwerty / za niz "qwerty" - Da

izraz / qwerty / za niz "123qwerty456" - Da

Spremembe "^" so izrazi:

izraz / ^ qwerty / za niz "123qwerty456" - Ne

izraz / ^ qwerty / za niz "qwerty456" - Da

Prav za konec simbola linije. Regularni izrazi omogočajo skladnost: na primer, [az], [AZ], [0-9] - vse črke abecede v tem primeru ali številk. Ruski črke se lahko uporablja tudi, vendar je treba paziti na kodiranje nizov (ki se zahteva, da se zahteva) in strani. Pogosto ruske črke, kot tudi posebne znake, je bolje nastaviti kode.

Pri oblikovanju regularni izraz lahko podate možnosti za prisotnost nekaterih simbolov na določeni lokaciji, z njihovo število glede na naslednji način: "*" = 0 ponavljanje ali večkrat; '+' = 1 ali več ponavljanje krat; {1} je enak, kot je "+"; {N} = ponavljanje natanko n-krat; {N} = n ponavljanje krat ali več; {N, m} = ponavljanje n do m-krat.

Z nosilci, lahko določite nabor znakov možnosti. Izgleda, da je to. [ABCD] = [oglas] = vsaka štiri simbol: 'a', "b", "c" ali "d". Določite lahko drugače. Vsak razen tistih iz niza znakov: [^ ABCD] = ničesar drugega kot "A" značaj, "b", "C" ali "d". '? " To pomeni, da na tej točki simbol ne more biti. '. " določa drugače kot kaže znak za novo vrstico. Ta "\ n" "\ r", "\ u2028" ali "\ u2029". Izraz "\ y * | \ S * '=' [\ s | \ N] * 'pomeni iskanje koli učinka, vključno z novimi vrsticami.

Poenostavljene različice regularnega izraza

Izraz "[\ s | \ S] * '- iskanje prostora, ali pomanjkanje le-teh, da je vse, kar je na liniji. V tem primeru, simbol "\ s 'označuje prostor, in" \ S' - njegova odsotnost.

Prav tako lahko uporabite '\ d "za iskanje decimalnih mest, in" \ D' najti neštevilsko značaja. Zapis '\ f "," \ n "" r "in ustrezajo obliki-krmi, vračanja vozička in line-krmo.

Znak zavihek - "\ t", vertikalni - '\ proti ". Oznaka "\ w" najde nobene latinico znakov (črke, številke in podčrtaj oznako) = [A-Za-z0-9_].

Oznaka "\ W je enakovredna [^ A-za-z0-9_]. To pomeni katerikoli znak, ki ni črka abecede, številke, ali »_«.

Search znak '\ 0' = Iskalno NUK znakov. Iskanje '\ xHH' ali '\ Uhhhh' = Iskanje mestna koda ali hhhh HH oz. H - šestnajstiška števka.

Priporočena besedilo in kodiranje regularnega izraza

Vsak regularni izraz, je pomembno, da skrbno testirana na različnih različicah vrstic.

Z izkušnjami oblikovanja redno napako izraz bo manjši, vendar kljub temu je treba vedno hraniti v mislih, da svoje poznavanje pravil pisanje regularnih izrazov ne more biti res, še posebej, če je "redna sezona" se je preselil iz enega jezika v drugega.

Izbira med klasike (natančna navedba) in poenostavljeno različico regularni izraz, je bolje, da raje prvo. Konec koncev, v klasike je vedno jasno navedeno, da tako zahteva. Če imajo regularni izraz ali iskalni niz ruske črke, bi morala privesti do ene same kodirajo vseh progah, in strani, na kateri deluje našli JavaScript kodo opravlja regularni izraz.

Ko je obdelava znak, non-latinici, je smiselno razmisliti navedbo oznak znakov, ne znakov samih.

Pri izvajanju algoritmov iskanja JavaScript regularnega izraza je treba skrbno preveriti. To je še posebej pomembno za nadzor kodiranje znakov.

V oklepaje v regularni izraz

Nosilci opredeliti možnosti za simbol, ki mora biti ali ne sme biti na določenem mestu, in okrogla - zaporedje variant. Toda to je samo splošno pravilo. Iz nje ni izjema, vendar pa je veliko različnih aplikacij.

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

var eRegExp = novo regularnega izraza (cRegExp, "i");

var cRegRes = '';

var sTest = 'slika.jpg';

če (eRegExp.test (sTest)) {

cRegRes + = '- Da ";

} Else {

cRegRes + = '- št';

}

Rezultati:

/[az]*.(png|jpg|gif)/ izraz za linijo "slika.jpg" - Da

/^[ad][az]*.(png|jpg|gif)/ izraz za vrstico "slika.jpg" - Ne

/^[ad][az]*.(png|jpg|gif)/ izraz za linijo "apicture.jpg" - Da

/^[ad][az]*.(png|jpg|gif)/ izraz za vrstico "apicture.jg" - Ne

Opozoriti je treba, da je vse, potem lahko zvezdica prisotni nič krat. To pomeni, da bi lahko "redna sezona" delo na nepričakovane načine vsaj.

Preverite regularni izrazi - testiranje e-pošte

Na redni JavaScript izražanja pridobljene dva načina, preizkus in exec, in se lahko uporablja v linijah objektov (String) v svojih metodah (funkcije): iskanja, po delih, je odšel in se ujemajo.

preskusna metoda je že dokazali, da vam omogoča, da preverite pravilnost regularnega izraza. Metoda Rezultat: true / false.

Razmislite o naslednjih JavaScript regularne izraze. Preverite e-pošto od števila "težko, vendar zagotovo":

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}) ) $ /;

niz var sTest ='SlavaChip@sci.by "daje res, potem je to niz je pravilen e-poštni naslov. Revizijsko je vodil eRegExp.test (sTest).

Praktična uporaba: zdravljenje poštnemu

Exec metoda zagotavlja izhodno matriko, pokličite:

var aresult = eRegExp.exec (sTest);

cRegRes = '
' + aResult.length + "
';
za (var i = 0; i cRegRes + = aresult [i] + '
';
}

To ima naslednje rezultate:

9.
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
undefined
sci.by
undefined
sci.by
sci.

Druge metode dela podobno. Priporočljivo je, da jih preverite sami. Razvoj in uporaba regularnih izrazov, je zaželeno, da deluje v praksi, oznaka kopiranje ni vedno priporočljivo tukaj.

Popular "redna sezona"

JavaScript regularni izraz glede na e-pošto ne samo, da so veliko bolj enostavne možnosti. Na primer, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Vendar pa je ta izvedba ne upošteva vseh izvedb zapisa e-poštni naslov.

Seveda, morate ogledati izkušnje kolegov, analizirati, kako njihova predlagal prej, da oblikujejo svoje lastne na JavaScript regularnih izrazov. Toda obstaja nekaj težav. Ne smemo pozabiti, da lahko javascript regularni izrazi (primeri pri kopiranju) podvajati bistvenih znakov: '\', '/' ali kotacije. To bo pripeljalo do napake, ki jo lahko poiščete dolgo.

Pomembno je upoštevati običajne "človeško razsežnost." Po formalni JavaScript regularnega izraza za telefon, ki je lahko obiskovalec (oseba), je glede na različne načine: 123-45-67, (29) 1234567, 80291234567 ali 375291234567. In to je vse isto številko. Črkovanje več vzorcev ni vedno sprejemljivo, in toga fiksacija pravil za pisanje številk lahko ustvari nepotrebno nelagodje ali omejitev. Možnost / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i je primeren za večino primerov, da preverite svojo telefonsko številko.

Če želite JavaScript regularne izraze, samo številke preglede, tudi kot preprost primer zahteva pojasnilo. To je treba upoštevati celo ali delno, znanstveni zapis, ali normalno, pozitivno ali negativno število. Lahko upošteva tudi obstoj simbol valute, število mest za decimalno vejico in delitev celotnega dela številko na triado.

Expression / ^ \ d + $ / i preveri samo številke in /^\d+\.\d+$/i izraz omogoča uporabo točke, ki označuje decimalni del števila.

V JavaScript preverjanje regularne izraze, se lahko uporablja za označevanje obliko vhodnih podatkov s trdega, kar je pomembno, še posebej pri vnosu profilov, podatke o potnem listu, in pravnih naslovov t. D.

Preverite datume - preprost za kompleks

Razmislite še JavaScript regularne izraze. Primeri na dan, kot za število telefonskih številk predstavlja izbiro med togostjo in prilagodljivost. Datum dogodka - eden od bistvenih podatkov, ki jih je pogosto treba dajati. Ampak določitvi vhod v določeni obliki: "DD-MM-llll" ali "d.m.gg" pogosto vodi v nezadovoljstvo strank. Prehod iz vnosno polje od dneva do meseca, polno klasičnih HTML-obliki, ne more potekati, ko vnesete samo eno številko, in drugi vhod je lahko težavno. Na primer, na področju dneva je bila uvedena 3 in naslednja številka 2 ne nadomešča prvi, ki je pripisana k njej 32, ki bo seveda povzročilo nevšečnosti.

Učinkovitost in udobje regularnih izrazov v glavnem odvisna od splošnega gradnjo dialoga z obiskovalca. V enem primeru, ki označuje datum, je priporočljivo, da uporabite eno vnosno polje na obliko, v drugem primeru pa je treba zagotoviti na različnih področjih, za dan, mesec in leto. Ampak potem vse dodatne "stroške kode", da preverite prestopno leto, število mesecev, število dni v njih.

Iskanje in nadomestiti, regularni izraz spomin

JavaScript nadomestiti (regularnih izrazov), ki uporabljajo metodo String objekt, in nam omogočajo, da bi našli vrednost in jo nemudoma spremeniti. To je uporabno za popravljanje tipkarskih napak, uredite vsebino polj obrazca in za pretvarjanje podatkov iz ene predstavitve oblike v drugo.

var cRegExp = / ([a-z] +) \ y ([a-z] +) \ y ([a-z] +) / I; // pri iskanju so trije "spremenljivke"

var sTest = 'Ta članek je dober! ";
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");

var dTestLine = document.getElementById ( 'scTestLine');

dTestLine.innerHTML = 'izraz' + cRegExp + "za niz" "+ sTest + '" pa:' + cRegRes;

rezultat:

Izraz / ([AZ] +) \ y ([AZ] +) \ y ([AZ] +) / I linijo "Ta člen je dobro!" ven: članek je dober, to!

Pri opravljanju vsak par oklepajev shrani rezultat v "spremenljivka" $ n, kjer je n - število konzol parov ($ 1, $ 2, ...). Za razliko od konvencionalnih, tukaj spremenljivka številčenje 1, ne 0.

Splošna priporočila

Regularni izraz poenostavi kodo, vendar je čas, da se razvije pogosto naredi razliko. Začnete lahko s preprostimi modelov, nato pa je, da združi v bolj kompleksne izraze. Lahko uporabite različne spletne storitve za testiranje regularne izraze ali posebne lokalne orodja.

Najboljša možnost bo ustvarila svojo lastno knjižnico regularnih izrazov in njihovih lastnih orodij za testiranje novosti. To je najboljši način za utrditev izkušnje in se naučijo, kako hitro zgraditi zanesljivo in udobno obliko.

Uporaba ponavljanja znakov in nizov, da je posebne znake "*", "+" in naramnicami, kar kaže število ponovitev je treba upoštevati načela enostavnosti in smotrnosti. Pomembno je, da se zavedamo, da regularni izraz na začetku svojega dela, in da bi dobili rezultat je popolnoma v moči motorja, ki ga brskalnik uporablja. Niso vsi jeziki enakovredni JavaScript. Vsak brskalnik lahko prinese svoje osebne preference pri razlagi regularnih izrazov.

Združljivost ni le strani in slogov, za regularne izraze, da ima tudi storiti. Stran uporablja JavaScript, se lahko šteje za dobro deluje le, če je uspešno delal na različnih brskalnikov.

JavaScript, String in regularnega izraza

Z pravo delo na ravni stranke, ki je, v brskalniku obiskovalca v JavaScript, zahteva visoko usposobljenost razvijalec. dovolj dolgo, boste imeli priložnost za odpravljanje napak JavaScript-koda brskalnika lastnih sredstev ali s pomočjo razširitve za tretje osebe, urednikov kode, neodvisnih programov.

Vendar ne vseh primerih, lahko razhroščevalnik ročaj in zagotavljajo dobro podporo za razvijalce, hitro odkrivanje napak, odkrivanje ozkih grl. Časi, ko je bil računalnik osredotočena na izračunih, v daljni preteklosti. Zdaj, posebno pozornost, da so informacijske in linije predmeti pridejo igrati pomembno vlogo. Število jeklenih strun, in njihova prava narava se manifestira le ob pravem času in pravem mestu.

Regularni izrazi okrepiti možnost linij, vendar zahtevajo samospoštovanje. Razhroščevanje regularnega izraza v svojem delu, čeprav je možno, da simulira, ne preveč zanimivo idejo.

Razumevanje strukturo in logiko Regexp objekta, kar pomeni predmet String, sintakso in semantiko JavaScript - resnično varno in varnostno kodo, stabilno delovanje vsake strani in spletno stran kot celoto.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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