KompiuteriaiProgramavimas

Javascript, reguliarios išraiškos pavyzdžių, patikrinkite reguliaraus išraiška

Prieš hiperteksto kalba atėjimas, o tol, kol tapo aišku, kad turėtume ne tik žiūrėti, bet ir padaryti tam tikromis sąlygomis, tam tikroje vietoje, pagal pasikeitusių duomenų tinkamais kiekiais, įprastą paiešką ir pakeisti funkcija organizavo sudńtings programuotojas. Sukurti meno šedevrais paieškoje programavimo kalbomis ir duomenų puikių ėmimo sąlygų formas, įrengta saugomas procedūras, trigerius ir kitomis didelių gabaritų imties reliacinės informacinių takelius. Reguliaraus išraiška revoliucija išvaizda nesukėlė, tačiau tai buvo naudinga ir patogu būdas rasti ir pakeisti informaciją. Pavyzdžiui, reguliarios išraiškos Javaskriptą siųsti gerokai supaprastinti registracijos lankytojų, nedėkite svetainėje siuntimo pranešimus tuščių adresus.

Pasakyti, kad "JavaScript" Įprastoji išraiška yra daug geriau produmannnyh sekas indexOf () ragina įprastinių cikliškai ir operatoriams rėmelyje, galime ne, bet sako, kad jis padarė scenarijus kodas yra kompaktiškas, tačiau mažai suprantama uninitiated, gali būti vienareikšmiškai.

Objekto reguliarusis reiškinys = + šablonų variklis

Reguliarūs išsireiškimai - yra šablonas + variklis. Pirmoji iš tiesų yra reguliaraus išraiška - Javaskriptą objektas - reguliarusis reiškinys, antrasis - Šis šablonas atlikėjas, taikyti jį į eilutę. Varikliai, kurios įgyvendina reguliarias išraiškas kiekvienam programavimo kalba yra skirtingi. Ir nors ne visi skirtumai yra reikšmingi, reikia turėti omenyje, taip pat būtinai atidžiai patikrinkite reguliaraus išraiška prieš savo operaciją.

Specialus žymėjimas rašant reguliarios išraiškos yra gana paprasta naudoti ir labai efektyvus, tačiau reikia pasirūpinti, Atidumas ir kantrybės iš kūrėjas. Iki žymėjimo reguliaraus išraiška modeliai reikia priprasti. Tai ne kaprizas, tai yra apie įgyvendinimo «JavaScript reguliarios išraiškos mechanizmo logikos."

Įprastoji išraiška, modelis

Leidžiama du variantai:

var expOne = / ABC * / i;

var expTwo = reguliarusis ( "ABC *", "i");

Paprastai ji naudojama pirmąjį metodą. Antruoju atveju, kabučių, nes naudoti simbolį "\", jis turi būti pabėgo bendrosiomis taisyklėmis.

"Aš" - vėliavos nurodant "didžiosios ir mažosios raidės. Taip pat galite naudoti vėliavos "G" - «Global Search" ir "M" - multi-Line paieška.

Simbolis "/" nurodyti įprasta naudoti šabloną.

Pradžia ir pabaiga reguliaraus išraiška

Programos "^" apibrėžia simbolį (-ius), iš kurios pradėti reguliarią išraišką, ir '$' nustato, kurios charakteris (-ai) turi būti pabaigoje. Jūs neturėtumėte eksperimentuoti su jais viduje išraiška, kur jie turi kitą prasmę.

Pavyzdžiui,

var eRegExp = nauja "RegExp (CRegExp," i ");

var cRegRes = '';

var sPatikrinkite šią = 'AbcZ';

jei (eRegExp.test (sPatikrinkite šią)) {

cRegRes + = '- Taip ";

} {Kita

cRegRes + = '- Ne ";

}

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

dTestLine.innerHTML = 'išraiška / "+ CRegExp +` / linijiniam "" + stest + "" "+ cRegRes.

Elementas "scTestLine" bus (CRegExp kintamasis turi atitinkamą reikšmę):

išraiška / ^ AbcZ $ / už eilutę "abcz" - Taip

Jei pašalinsite "Aš" vėliava, rezultatas yra:

išraiška / ^ AbcZ $ / už eilutę "abcz" - Nėra

Reguliarių išraiškos turinys

Įprastoji išraiška yra simbolių seka, kuri yra paieškos objektas. Išraiška / QWERTY / ieško įrašas tai seka:

išraiška / QWERTY / STRING "qwerty" - Taip

išraiška / QWERTY / STRING "123qwerty456" - Taip

Į "^" pokyčiai frazių:

išraiška / ^ QWERTY / STRING "123qwerty456" - Nėra

išraiška / ^ QWERTY / STRING "qwerty456" - Taip

Be to, už linijos simbolio pabaigoje. Reguliarūs išsireiškimai leisti nuoseklumo: pavyzdžiui, [AZ], [AZ], [0-9] - visos abėcėlės raidės šiuo atveju ar skaičiai. Rusijos raidės taip pat gali būti naudojami, tačiau reikėtų atkreipti dėmesį į stygų kodavimas (kurioje siekiama, kad prašoma) ir puslapius. Dažnai Rusijos laiškus, taip pat specialių ženklų, tai geriau nustatyti kodus.

Formuojant reguliaraus išraiška gali nurodyti parinktis, dėl tam tikrų simbolių buvimą tam tikroje vietoje, su jų skaičius pateikiamas taip: "*" = 0 kartojimas ar daugiau kartų; "+" = 1 arba daugiau pakartojimas kartus; {1} yra tas pats, kaip "+"; {N} = pakartojimas lygiai n kartus; {N,} = N pakartojimas ar daugiau kartų,; {N, M,} = pakartojimas n, kad m kartų.

Naudojant laikiklius, galite nurodyti simbolių rinkinį variantų. Ji atrodo taip. [Abcd] = [skelbimas] = kiekvieną keturių simbolis: "a", "b", "c" arba "d". Galite nurodyti kitaip. Bet koks kitas, nei nurodyta rinkinio veikėjas: [^ ABCD] = jokio kito nei "A" charakterį, "B", "C" arba "D". "?" Tai rodo, kad šiuo metu simbolis negali būti. "." nurodoma kita nei nurodant naujos eilutės simbolį. Šis "\ n", "\ r", "\ u2028" arba "\ u2029". Sąvoka "\ s * | \ S * '=' [\ s | \ S] *" reiškia paiešką bet kokio pobūdžio, įskaitant naujos eilutės.

Supaprastintos versijos reguliaraus išraiška

Sąvoka "[\ s | \ S] * '- paieškos erdvė, arba jos nebuvimas, tai yra viskas, ko ant linijos. Šiuo atveju, simbolis '\ s "reiškia erdvę, ir' \ S" - jo nebuvimas.

Taip pat galite naudoti "\ d" ieškoti pateikiami dešimtainiai skaitmenys, o "\ d" rasti neskaitinę charakterį. Žyma "\ f", "r" ir "\ n" atitinka form pašarų, vežimo grįžti ir linijos-pašarų.

Skirtukas pobūdis - '\ t ", vertikalus -' \ prieš". Pavadinimas "\ w" nustato, bet lotynų abėcėlės simbolį (raidėmis, skaičiais, ir apatinio ženklo) = [A-Za-z0-9_].

Pavadinimas "\ W 'yra lygus [^ A-Za-z0-9_]. Tai reiškia bet kokį simbolį, kuris nėra abėcėlė, skaičių, arba "_" raidė.

Paieška charakteris '\ 0' = Ieškoti NUL simbolių. Paieška '\ xHH "arba" \ uhhhh "atitinkamai = Paieška simbolių kodas arba HHHH HH. H - šešioliktainis skaitmuo.

Rekomenduojama formuluotė ir kodavimas reguliaraus išraiška

Bet Įprastoji išraiška labai svarbu atidžiai išbandyta skirtingų versijų eilučių.

Su sukurti reguliaraus išraiška klaidą bus mažesnis patirties, tačiau visada reikia nepamiršti, kad savo žinias apie rašymo reguliarios išraiškos taisyklių negali būti tiesa, ypač kai "reguliarus sezonas" perkeliamas iš vienos kalbos į kitą.

Pasirinkimas tarp klasikos (tiksli nuoroda) ir supaprastinta versija reguliariai išraiška, tai geriau renkasi pirmąjį. Juk klasika visada aiškiai nurodė, kad abu siekė. Jei Įprastoji išraiška arba paieškos eilutė turi rusiškais rašmenimis, turėtų būti vienos koduojančių visų linijų ir puslapį, kuriame veikia susirasti JavaScript kodą atlieka reguliarią išraišką.

Kai yra charakteris apdorojimas, ne lotynų abėcėlės, prasminga svarstyti iš simbolių kodus, o ne pačių simbolių indikacija.

Įgyvendinant paieškos algoritmus JavaScript reguliaraus išraiška turėtų būti kruopščiai tikrinama. Tai ypač svarbu kontroliuoti simbolių koduotę.

Į reguliaraus išraiška skliaustai

Skliausteliuose nustatykite simbolį, kuris turi būti arba negali būti tam tikroje vietoje, ir apvalus galimybes - sekos variantų. Bet tai tik bendra taisyklė. Iš jo yra ne išimtis, bet yra daug įvairių programų.

var CRegExp = "[AZ] * (PNG | jpg | GIF).";

var eRegExp = nauja "RegExp (CRegExp," i ");

var cRegRes = '';

var sPatikrinkite šią = 'Picture.jpg';

jei (eRegExp.test (sPatikrinkite šią)) {

cRegRes + = '- Taip ";

} {Kita

cRegRes + = '- Ne ";

}

rezultatai:

/[az]*.(png|jpg|gif)/ išraiška eilutėje "Picture.jpg" - Taip

/^[ad][az]*.(png|jpg|gif)/ išraiška "paveikslėlis.jpg" linijos - NE

/^[ad][az]*.(png|jpg|gif)/ išraiška eilutėje "apicture.jpg" - Taip

/^[ad][az]*.(png|jpg|gif)/ išraiška "apicture.jg" linijos - NE

Reikėtų pažymėti, kad visi, tada žvaigždutė gali būti nulis kartų. Tai reiškia, kad "reguliaraus sezono" gali dirbti netikėtų būdų bent.

Patikrinkite RegExp - bandymas laišką

Reguliariais JavaScript išraiškos gautos du metodus, išbandyti ir exec, ir gali būti naudojamas linijų objektų (string) savo metodus (funkcijų): paieškos, Splitas, pakeisti ir suderinti.

bandymo metodas jau buvo įrodyta, jis leidžia jums patikrinti reguliaraus išraiška teisingumą. Metodas Rezultatas: true / false.

Apsvarstykite šiuos JavaScript reguliarios išraiškos. Patikrinkite laišką iš "sunku, bet tikrai" numeris:

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

eilutė var sPatikrinkite šią ='SlavaChip@sci.by "suteikia tiesa, ten yra ši eilutė yra teisingas el adresas. Auditas buvo atliktas eRegExp.test (stest).

Praktinis naudojimas: gydymas E-mail

Exec metodas suteikia išvesties masyvas, skambinkite:

var aResult = eRegExp.exec (sPatikrinkite šią);

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

Ji suteikia tokį rezultatą:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
neapibrėžta
sci.by
neapibrėžta
sci.by
Sci.

Kiti metodai dirbti panašiai. Patartina patikrinti juos sau. Plėtra ir naudojimas reguliarios išraiškos, pageidautina dirbti praktiškai, kodas kopijavimas yra ne visada patartina čia.

Populiarus "reguliarus sezonas"

JavaScript Įprastoji išraiška skiriamas paštas ne tik yra daug lengviau variantų. Pavyzdžiui, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Tačiau šis įsikūnijimas atsižvelgia ne visus elektroninio pašto adresą įrašo panaudojimo variantai.

Žinoma, jūs turite pamatyti kolegų patirtį, analizuoti, kaip jų pasiūlė prieš kurti savo "JavaScript" reguliarios išraiškos. Tačiau yra tam tikrų sunkumų. Mes neturėtume pamiršti, kad "JavaScript" reguliarios išraiškos (pavyzdžiai, kai kopijuojate) gali dubliuoti esminius ženklų: '\', '/' ar kabučių. Tai lems klaida, kurią galite ieškoti ilgai.

Svarbu atsižvelgti į įprastą "žmogiškąjį aspektą." Po oficialaus JavaScript išraiška telefoną, kuris gali būti lankytojas (asmuo), ji teikiama įvairiais būdais: 123-45-67, (29) 1234567, 80291234567 arba 375291234567. Ir visa tai tas pats numeris. Rašybos kelis modelius ne visada priimtinos, o standus fiksacijos taisyklių rašyti numerius gali sukurti nereikalingą diskomfortą ar apribojimus. Parinktis / ^ \ D [\ r \ (\) \ -] {4,14} \ r $ / i tinka daugeliu atvejų jums patikrinti savo telefono numerį.

Jei norite, kad "JavaScript" reguliarios išraiškos, tik skaitmenis patikrinimus, net ir toks paprastas atvejis reikalauja paaiškinimo. Ji turėtų būti laikoma sveikasis skaičius arba trupmeninė, mokslo notacijos arba normalus, teigiamas arba neigiamas skaičius. Jūs taip pat gali atsižvelgti į iš valiutos simbolio egzistavimo, skaitmenų skaičių po kablelio ir visai dalį numerio triados padalinys.

Išraiška / ^ \ d + $ / Aš tik patikrinti numerius ir /^\d+\.\d+$/i išraiška leidžia taško naudotis nurodyti trupmeninė dalis numerį.

JavaScript tikrinti reguliarios išraiškos gali būti naudojama nurodyti kietajame įvesties duomenų, kurie yra svarbūs, ypač formatą įvesdami profilius, paso duomenis ir teisinius adresus t., D.

Patikrinkite datas - paprasta komplekso

Apsvarstykite dar JavaScript reguliarios išraiškos. Pavyzdžiai iki šiol, kaip už telefono ryšio numerių skaičius atstovauti rinktis standumo ir lankstumo. Renginio data - vienas iš esminių duomenų, kurie dažnai turi būti skiriamas. Tačiau nustatant tam tikro formato įvedimas: "dd-mm-yyyy" arba "d.m.gg" dažnai veda į klientų nepasitenkinimą. Perėjimas iš įvesties lauką dieną į mėnesį, pilnas klasikinis HTML formos, negali vykti, kai įvedate tik vieną skaitmenį, o antrasis įėjimas gali būti sunku. Pavyzdžiui, dienos srityje buvo įvesta 3 ir kitas skaičius 2 nepakeičia pirmas, ir priskirti jai 32, kuri, žinoma, sukels nepatogumų.

Efektyvumas ir patogumo reguliarios išraiškos esmės priklauso nuo bendros statybos dialogą su lankytojas. Vienu atveju, nurodyti datą patartina naudoti vieną įvesties lauką formos, kitu atveju būtina numatyti įvairiose srityse dienai, mėnesiui ir metams. Bet tada visi papildomi "išlaidos kodas" patikrinti keliamieji metai, mėnesių skaičių, į dienų skaičiaus.

Paieška ir pakeisti, reguliaraus išraiška atminties

JavaScript pakeisti (reguliarios išraiškos), naudojant eilutės objekto metodą, ir leidžia mums rasti vertę ir iš karto jį pakeisti. Tai naudinga ištaisyti spausdinimo klaidas redaguoti formos laukus turinį ir konvertuoti duomenis iš vienos pateikties formatą į kitą.

var CRegExp = / ([a-z] +) \ S ([a-z] +) \ S ([a-z] +) / i; // ieškant trys "kintamieji"

var sPatikrinkite šią = 'Šis straipsnis yra geras! ";
var cRegRes = sTest.replace (CRegExp, "$ 2, $ 3, $ 1");

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

dTestLine.innerHTML = 'sąvoka "+" CRegExp + ", už eilutę"' + stest + "" posūkis: '+ cRegRes;

rezultatas:

ekspresijos / ([AZ] +) \ S ([AZ] +) \ S ([AZ] +) / I eilutėje "Šis straipsnis yra geras!" iš: straipsnis yra geras, tai!

Atliekant kiekvieną skliausteliuose pora išsaugo į "kintamasis" rezultatą $ n, kur n - laikiklis porų ($ 1, $ 2, ...). Skirtingai nuo įprastų, čia kintamasis numeracija yra 1, o ne 0.

Bendros rekomendacijos

Įprastoji išraiška, supaprastina kodą, bet laikas kurti ji dažnai daro skirtumą. Galite pradėti su paprasta dizaino ir tada sujungti į daugiau sudėtingų išraiškų. Jūs galite naudoti įvairių interneto paslaugas išbandyti reguliarios išraiškos arba specialius vietinius įrankius.

Geriausias variantas bus sukurti savo biblioteką reguliarios išraiškos ir savo įrankius išbandyti naujus pokyčius. Tai yra geriausias būdas sustiprinti patirtimi ir sužinoti, kaip greitai sukurti patikimą ir patogų dizainą.

Naudojant kartojimo ženklų ir eilučių, tai yra, specialiuosius simbolius "*", "+" ir petnešos, nurodant pakartojimų skaičius turėtų būti vadovaujamasi paprastumo ir tikslingumo principais. Svarbu suprasti, kad reguliariai išraiška į savo darbo pradžioje, o gauti rezultatai yra visiškai variklio naudojamą naršyklę galios. Ne visos kalbos yra lygiavertės JavaScript. Kiekviena naršyklė gali pareikšti savo asmeninius pageidavimus į reguliarios išraiškos interpretacija.

Suderinamumas yra ne tik puslapiai ir stilių, kad reguliarios išraiškos, ji taip pat turi daryti. Puslapis naudoja JavaScript gali būti laikomas gerai veikianti tik tada, kai ji sėkmingai dirbo naršyklių įvairovė.

JavaScript Styginių ir reguliarusis reiškinys

Iki tinkamą darbą kliento lygio, tai yra, lankytojo naršyklę JavaScript, ji reikalauja aukštos kvalifikacijos kūrėjas. pakankamai ilgai jūs turite galimybę derinti JavaScript kodas naršyklė nuosavų lėšų arba su trečiųjų šalių plėtinių, kodas redaktorių, nepriklausomų programų pagalba.

Tačiau ne visais atvejais derintojas gali dirbti ir suteikti gerą paramą kūrėjas, greitai klaidų aptikimo, aptikti kliūtis. Laikai, kai kompiuteris buvo sutelktas į skaičiavimus, tolimoje praeityje. Dabar, atkreipti ypatingą dėmesį į informacinių ir linija objektai atėjau vaidinti svarbų vaidmenį. Plieno stygos skaičius, o jų tikroji prigimtis jie pasireiškia tik reikiamu laiku ir reikiamoje vietoje.

Reguliarūs išsireiškimai sustiprinti linijų galimybę, tačiau reikalauja savigarbą. Debug įprastą posakį savo darbą, net jei tai yra įmanoma imituoti, o ne per įdomią idėją.

Supratimas struktūrą ir logiką RegExp objektą, o tai reiškia objekto String, sintaksę ir semantiką JavaScript - tikrą saugų ir patikimą kodą, stabilų veikimą kiekvieno puslapio ir svetainės kaip visumą.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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