Kompjutera, Programimi
Javascript, shembuj të rregullt shprehje, kontrolloni rregullt shprehje
Para ardhjes së gjuhës HyperText, por më tepër, deri sa u bë e qartë se ne nuk duhet vetëm të shikoni, por për ta bërë këtë në kushte të caktuara, në një vend të veçantë, në bazë të të dhënave të ndryshuara në sasi të duhur, kërkimin e zakonshme dhe të zëvendësojë funksion të organizuar ndonjë sofistikuar programues. Krijo kryeveprat e kërkimit artit në gjuhë programimi, dhe baza e të dhënave shkëlqeu në format e kushteve të marrjes së mostrave, të pajisur me procedurave të ruajtur, shkakton dhe mjete të tjera të mostrës rëndë gjurmët e informacionit relacionale. Shfaqja e shprehjes rregullt në revolucionin nuk të çojnë, por kjo ishte një mënyrë e dobishme dhe të përshtatshme për të gjetur dhe të zëvendësojë informacionin. Për shembull, shprehje të rregullta JavaScript email në mënyrë të konsiderueshme të lehtësuar regjistrimin e vizitorëve, nuk ngarkesës faqen e internetit dërgimin e mesazheve me adresat nuk ekzistojnë.
Për të thonë se një shprehje e JavaScript rregullt është sekuenca shumë më të mira produmannnyh indexOf () thërret në kuadër të ciklike konvencionale dhe operatorët, por nuk mund të themi se ajo ka bërë kodi script është kompakt, por shumë pak të kuptueshme për uninitiated, mund të jetë i qartë.
Objekt RegExp = + motor template
shprehje të rregullta - është një motor template +. E para është në fakt një shprehje e rregullt - JavaScript objekti - e RegExp, i dyti - kjo template interpretues, të aplikojnë atë në linjë. Motorët që zbatojnë shprehje të rregullta për çdo gjuhë programimi janë të ndryshme. Edhe pse jo të gjitha dallimet janë të rëndësishme, duhet të kihet parasysh, si dhe të jetë i sigurt për të kontrolluar me kujdes shprehjen e rregullt para se të funksionimit të saj.
Një simbol i veçantë kur shkruani shprehje të rregullta është shumë e lehtë për t'u përdorur dhe mjaft efektive, por kjo kërkon kujdes, rregull dhe durim nga zhvilluesi i saj. Duke simbol modelet shprehje e rregullt duhet të mësohen për të. Kjo nuk është një trill, kjo është logjika e një mekanizmi për zbatimin «JavaScript shprehje të rregullta."
model i rregullt shprehje
Lejohen dy opsione:
var expOne = / ABC * / i;
var expTwo = RegExp ( "ABC *", "i");
Zakonisht ajo përdoret metodën e parë. Në rastin e dytë, kuotat, për shkak të përdorin karakterin '\', ajo duhet të shpëtuar nga rregullat e përgjithshme.
"Unë - flamur që tregon" një rast i pandjeshëm ". Ju gjithashtu mund të përdorni flamuj 'g' - «Global Kërko 'dhe' m '- një kërkim multi-line.
Simboli '/' për të treguar të përbashkët për të përdorur një template.
Fillimi dhe fundi i shprehjes rregullt
E '^' përcakton karakterin (s) nga e cila për të filluar shprehjen e rregullt, dhe '$' përcakton se cili karakter (s) duhet të jetë në fund. Ju nuk duhet të eksperimentojnë me ta brenda një shprehje, ku ata kanë një kuptim të ndryshëm.
Për shembull,
var eRegExp = RegExp ri (cRegExp 'i');
cRegRes var = '';
var stest = 'AbcZ';
nëse (eRegExp.test (stest)) {
cRegRes + = '- PO';
} Tjetër {
cRegRes + = '- Jo';
}
var dTestLine = document.getElementById ( 'scTestLine');
dTestLine.innerHTML = 'Expression /' + cRegExp + '/ për rresht "' + stest + ''" + cRegRes.
'ScTestLine' elementi do të rezultojë (cRegExp ndryshueshme ka një kuptim korresponduese):
Shprehja / ^ AbcZ $ / për vargun "abcz" - Po
Nëse ju hiqni 'i' flamur, rezultati është:
Shprehja / ^ AbcZ $ / për vargun "abcz" - No
Përmbajtja e një shprehje të rregullt
Nje shprehje rregullt është një sekuencë e shkronja, e cila i nënshtrohet kontrollit. Expression / qwerty / duke kërkuar për hyrjen është kjo sekuencë:
Shprehja / qwerty / për vargun "qwerty" - Po
Shprehja / qwerty / për vargun "123qwerty456" - Po
Ndryshimet '^' janë shprehje:
Shprehja / ^ qwerty / për vargun "123qwerty456" - No
Shprehja / ^ qwerty / për vargun "qwerty456" - Po
Në mënyrë të ngjashme, për fundin e simbolit linjë. shprehje të rregullta të lejojë për qëndrueshmëri: për shembull, [az], [AZ], [0-9] - të gjitha shkronjat e alfabetit në këtë rast apo figurave. letra ruse gjithashtu mund të përdoret, por duhet të i kushtoj vëmendje për kodimin e vargjet (e cila është kërkuar që kërkohet) dhe faqet. Shpesh letra ruse, si dhe karaktere të veçanta, është e preferueshme për të vendosur kodet.
Kur formuar një shprehje e rregullt mund të specifikoni opsionet për praninë e simboleve të caktuara në një vend të caktuar, me numrin e tyre duke pasur parasysh si vijon: '*' = 0 përsëritje ose më shumë herë; '+' = 1 ose më shumë herë përsëritja; {1} është e njëjtë si '+'; {N} = përsëritje saktësisht n herë; {N,} = n përsëritja herë ose më shumë; {N, m} = përsëritja e n në kohë m.
Duke përdorur kllapa, ju mund të specifikoni karakterin vendosur e opsioneve. Ajo duket si kjo. [Abcd] = [Shpallja] = çdo katër simboli: "a", "b", "c" ose "d '. Ju mund të specifikoni ndryshe. Çdo karakter përveç atyre të përcaktuara në grupin: [^ abcd] = ndonjë karakter tjetër përveç 'A', "b", "c" ose "d '. '?' Ai tregon se në këtë pikë simboli nuk mund të jetë. '.' specifikon ndonjë karakter tjetër përveç që tregon newline. Kjo '\ n', '\ r', '\ u2028' ose '\ u2029'. Shprehja '\ s * | \ S *' = '[\ s | \ S] *' do të thotë kërkimin për çdo karakter, duke përfshirë newlines.
versionet e thjeshtuar e shprehjes rregullt
Shprehja "[\ s | \ S] * '- hapësirë kërkimit, ose mungesa e tij, që është gjithçka që është në përputhje. Në këtë rast, simboli '\ s' tregon një hapësirë, dhe '\ S' - Mungesa e tij.
Në mënyrë të ngjashme, ju mund të përdorni '\ d' për të kërkuar për shifra dhjetore, dhe '\ D' gjeni një karakter jo-numerike. Simbol '\ f' r "dhe" \ n 'korrespondojnë me formë-ushqim, kthimin e transportimit dhe line-ushqim.
Karakteri tab - "\ t ', vertikale -" \ v'. Emërtimi '\ w' gjen ndonjë karakter Latin alphabet (shkronja, shifra, dhe shenjën nënvizojnë) = [A-Za-z0-9_].
Përcaktimi '\ W' është e barabartë me [^ A-Za-z0-9_]. Kjo do të thotë çdo karakter që nuk është një letër e alfabetit, numrin, ose '_'.
Karakteri Kërko '\ 0' = kërkimit karaktere nul. Kërko '\ xHH' ose '\ uhhhh' = Kërko kodi i karakterit ose hhhh HH respektivisht. H - shifror hexadecimal.
Formulimi rekomanduar dhe kodimi i të shprehurit të rregullt
Çdo shprehje e rregullt është e rëndësishme për të testuar me kujdes në versione të ndryshme të rreshtave.
Me përvojën e krijimit të një gabim të rregullt shprehje do të jetë më i vogël, por megjithatë duhet gjithmonë të mbahen në mend se njohuritë e tyre nga rregullat e shkrimit shprehje të rregullta nuk mund të jetë e vërtetë, sidomos kur "sezoni i rregullt" është transferuar nga një gjuhë në tjetrën.
Zgjedhja mes klasik (tregues i saktë) dhe një version të thjeshtuar të një shprehje të rregullt, është më mirë për të preferojnë të parë. Pas të gjitha, në klasike tregohet gjithmonë e qartë se të dyja kërkuar. Nëse shprehja e rregullt apo search string kanë letra ruse, duhet të çojë në një encoding vetme të gjitha linjat dhe faqes në të cilën vepron gjeni JavaScript-kodin kryen një shprehje të rregullta.
Kur ka një përpunim karakter, alfabeti jo-latine, kjo ka kuptim të marrin në konsideratë një tregues i kodeve karakterit, jo vetë personazhet.
Kur zbatimin e algoritme e kërkimit në shprehje të rregullta JavaScript duhet të kontrollohet me kujdes. Kjo është veçanërisht e rëndësishme për të kontrolluar kodimin karakter.
Kllapave në shprehje të rregullta
Kllapa përcaktojnë mundësitë për simbol, i cili duhet të jetë ose mund të mos jetë në një vend të caktuar, dhe e rrumbullakët - variante rend. Por kjo është vetëm një rregull i përgjithshëm. Nga ajo nuk ka asnjë përjashtim, por ka një shumëllojshmëri të gjerë të aplikacioneve.
var cRegExp = "[az] * (png | muri | gif)".;
var eRegExp = RegExp ri (cRegExp 'i');
cRegRes var = '';
var stest = 'picture.jpg';
nëse (eRegExp.test (stest)) {
cRegRes + = '- PO';
} Tjetër {
cRegRes + = '- Jo';
}
rezultatet:
/[az]*.(png|jpg|gif)/ shprehje për linjën "picture.jpg" - Po
shprehje /^[ad][az]*.(png|jpg|gif)/ për linjën "picture.jpg" - nuk ka
/^[ad][az]*.(png|jpg|gif)/ shprehje për linjën "apicture.jpg" - Po
shprehje /^[ad][az]*.(png|jpg|gif)/ për linjën "apicture.jg" - nuk ka
Duhet të theksohet se të gjitha, atëherë një yll mund të jetë i pranishëm zero herë. Kjo do të thotë se "sezoni i rregullt" mund të punojnë në mënyra të papritura të paktën.
Kontrolloni RegExp - testimit email
Në shprehje të rregullta JavaScript marrë dy metoda, testimit dhe exec, dhe mund të përdoret në linjat objekte (string) në metodat e tyre (funksionet): e kërkimit, Split, të zëvendësojë dhe ndeshje.
Metoda e testimit tashmë është dëshmuar, kjo ju mundëson për të kontrolluar saktësinë e shprehjes rregullt. Metoda Rezultati: true / false.
Konsideroni JavaScript shprehje të rregullta e mëposhtme. Kontrolloni email nga numri i "të vështirë, por sigurisht":
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}) ) $ /;
një var string stest ='SlavaChip@sci.by 'jep e vërtetë, atëherë nuk është ky varg është e saktë email-adresën. Auditimi është kryer nga eRegExp.test (stest).
Përdorimi praktik: trajtimi i e-Mail
Metoda Exec ofron koleksion të prodhimit, telefononi:
var aresult = eRegExp.exec (stest);
'
' cRegRes = + aResult.length + '
';
per (var i = 0; i
';
}
Ai jep rezultatin e mëposhtme:
9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
undefined
sci.by
undefined
sci.by
Sci.
Metoda të tjera të punojnë në mënyrë të ngjashme. Ajo është e rekomanduar për të kontrolluar ato veten. Zhvillimi dhe përdorimi i shprehjeve të rregullta, është e dëshirueshme për të punuar në praktikë, kodi kopjimi nuk është gjithmonë e këshillueshme këtu.
Popular "sezoni i rregullt"
JavaScript shprehje e rregullt dhënë Email jo vetëm që ka shumë opsione më të lehtë. Për shembull, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Megjithatë, ky mishërim merr parasysh jo të gjitha mishërime të procesverbalit adresën email.
Sigurisht, ju duhet të shohin përvojën e kolegëve, për të analizuar se si e propozuar e tyre para për të hartuar e tyre në shprehje të rregullta JavaScript. Por ka disa vështirësi. Ne nuk duhet të harrojmë se një JavaScript shprehje të rregullta (shembuj të kur kopjimi) mund të kopjuar karakteret thelbësore: '\', '/' ose citate. Kjo do të çojë në gabim, të cilat ju mund të kërkoni të gjatë.
Është e rëndësishme për të marrë parasysh zakonshme "dimensionin njerëzor." Pas shprehjes formale JavaScript rregullt për telefon, e cila mund të jetë vizitor (person), është dhënë në mënyra të ndryshme: 123-45-67, (29) 1234567, 80291234567 ose 375291234567. Dhe kjo është e gjitha numri i njëjtë. Drejtshkrimi modele të shumta nuk është gjithmonë e pranueshme, dhe fiksim të ngurtë e rregullave për të shkruar numrat mund të krijojnë siklet të panevojshme ose kufizime. Opsioni / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i është i përshtatshëm për shumicën e rasteve ju kontrolloni numrin tuaj të telefonit.
Nëse ju doni të bëni një shprehje JavaScript rregullt, vetëm kontrolle shifra, edhe një rast i tillë i thjeshtë kërkon sqarim. Ajo duhet të konsiderohet si një numër i plotë ose i pjesshëm, simbol shkencore, ose numrin normal, pozitiv apo negativ. Ju gjithashtu mund të marrë parasysh ekzistencën e simbolit të monedhës, numri i shifrave pas presjes dhjetore dhe ndarjen e të gjithë pjesë e numrit në treshe.
Expression / ^ \ d + $ / i kontrolluar vetëm numra dhe shprehje /^\d+\.\d+$/i lejon përdorimin e një pikë për të treguar pjesën pjesshëm të numrit.
Në JavaScript kontrolluar shprehje të rregullta mund të përdoret për të treguar format e të dhënave hard input, e cila është e rëndësishme, sidomos kur hyjnë profilet, të dhënat e pasaportës, dhe adresat ligjore t. D.
Kontrolloni datat - thjeshtë për kompleksin
Konsideroni një tjetër JavaScript shprehje të rregullta. Shembuj deri më sot, si për numrin e numrave telefonik përfaqësojnë zgjedhje mes ngurtësi dhe fleksibilitet. Data e ngjarjes - një prej të dhënave thelbësore, të cilat shpesh kanë për t'u administruar. Por fiksimin e dhëna në një format të veçantë: "dd-mm-YYYY 'ose' 'd.m.gg shpesh çon në pakënaqësinë e konsumatorëve. Kalimi nga fushën e futjes të ditë-për-muaj, plot klasike HTML-formë, nuk mund të ndodhë kur ju të hyjë vetëm një shifër, dhe inputi i dytë mund të jetë e vështirë. Për shembull, në fushën e ditës ajo u prezantua 3 dhe numri tjetër 2 nuk do të zëvendësojë të parë, dhe i atribuohet asaj 32, e cila, natyrisht, do të shkaktojë shqetësim.
Efikasitetin dhe komoditetin e shprehje të rregullta në thelb varet nga ndërtimin e përgjithshëm të një dialogu me vizitor. Në një rast, për të treguar datën është e këshillueshme që të përdorin një fushë kontributin e formës, në rastin tjetër është e nevojshme për të siguruar për fusha të ndryshme për ditën, muajin dhe vitin. Por atëherë çdo shtesë "kosto të kodit" për të parë vitin e brishtë, numrin e muajve, numri i ditëve në to.
Kërko dhe të zëvendësojë, memorie të rregullt shprehje
JavaScript zëvendësojë (shprehje të rregullta) duke përdorur metodën e objektit String, dhe të na lejojë për të gjetur vlerën dhe për të ndryshuar atë menjëherë. Kjo është e dobishme për korrigjimin e gabimeve të shtypni, për të ndryshuar përmbajtjen e fushave formë dhe për konvertimin e të dhënave nga një formë e paraqitjes në një tjetër.
var cRegExp = / ([a-z] +) \ s ([a-z] +) \ s ([a-z] +) / i; // kur të kërkoni tri 'variabla'
var stest = 'Ky artikull është i mirë!';
var cRegRes = sTest.replace (cRegExp "$ 2, 3 $, $ 1");
var dTestLine = document.getElementById ( 'scTestLine');
dTestLine.innerHTML = 'shprehja' + cRegExp + "për vargun" '+ stest +' "Turn: '+ cRegRes;
Rezultati:
shprehja / ([az] +) \ s ([AZ] +) \ s ([AZ] +) / i për vijën "Ky artikull është i mirë!" nga: artikulli është i mirë, ky!
Gjatë kryerjes së çdo palë e kllapa ruan rezultatin në 'variabli' $ n, ku n - numri i palë kllapa ($ 1, $ 2, ...). Ndryshe nga konvencionale, këtu numëron variabël është 1, jo 0.
rekomandime të përgjithshme
shprehje e rregullt thjeshton kodin, por koha për të zhvilluar ajo shpesh bën një dallim. Ju mund të filloni me dizajne të thjeshta dhe pastaj bëri të kombinuar në shprehje më komplekse. Ju mund të përdorni shërbime të ndryshme online për të provuar shprehje të rregullta ose mjete të posaçme lokale.
Opsioni më i mirë do të krijojë bibliotekën e tyre të shprehjeve të rregullta dhe mjetet e tyre për të provuar zhvillimet e reja. Kjo është mënyra më e mirë për të konsoliduar përvojën dhe të mësojnë se si të shpejt të ndërtuar dizajn të besueshme dhe të rehatshme.
Duke përdorur përsëritjen e karaktereve dhe vargjet, që është, '*' karaktere speciale, '+' dhe formatimin e teksteve, duke treguar numrin e repetitions duhet të udhëhiqet nga parimet e thjeshtësisë dhe përshtatshmërisë. Është e rëndësishme të kuptohet se një shprehje të rregullt në fillim të punës së saj, dhe për të marrë rezultati është tërësisht në fuqinë e motorit të përdorur nga shfletuesi. Jo të gjitha gjuhët janë ekuivalente me JavaScript. Çdo shfletues mund të sjellë e tyre preferencat personale në interpretimin e shprehje të rregullta.
Compatibility jo vetëm faqet dhe fletë stil është, për shprehje të rregullta, ajo gjithashtu ka të bëjë. Faqja e përdor JavaScript, mund të konsiderohet si një funksionon mirë vetëm kur ajo ka punuar me sukses në një shumëllojshmëri të shfletuesit.
JavaScript, String dhe RegExp
Me punën e duhur në nivelin e klientit, që është, në shfletuesin vizitori në JavaScript, ajo kërkon aftësi të larta të zhvilluesi i saj. Kohë të mjaftueshme ju keni mundësinë për të debug JavaScript-code shfletuesit fondet e veta ose me ndihmën e shtesave të palëve të treta, redaktorët kod, programet e pavarura.
Megjithatë, jo të gjitha rastet, Rregullues mund të trajtojë dhe të sigurojë mbështetje të mirë për zhvilluesi i saj, një zbulimin gabim të shpejtë, të zbuluar pengesat. Kohët kur kompjuteri ka qenë i fokusuar në llogaritjet, në të kaluarën e largët. Tani, i kushtoj vëmendje të veçantë për të informacionit dhe linjës objekte kanë ardhur për të luajtur një rol të rëndësishëm. Numri i strings çelikut, dhe natyra e tyre e vërtetë se ata manifestojnë vetëm në kohën e duhur dhe vendin e duhur.
shprehje të rregullta përforcojnë mundësinë e linjave, por kërkojnë respekt për veten. Debug RegExp në punën e tij, edhe në qoftë se është e mundur për të simuluar, ide jo shumë interesante.
Kuptimi strukturën dhe logjikën e objektit RegExp, që do të thotë objekt string, sintaksën dhe semantikën e JavaScript - një kod të vërtetë të sigurt, funksionimin e qëndrueshme të çdo faqe dhe vendin në tërësi.
Similar articles
Trending Now