ComputerZokuhlela

Javascript, imizekelo wochazo lwarhoqo, hlola Expression rhoqo

Phambi kokuvela ulwimi, kodwa kunoko, kwada kwacaca ukuba kufuneka nje sikhangele, kodwa ukwenza oko phantsi kweemeko ezithile, kwindawo ethile, phantsi kwe data ezitshintshileyo nangokomthamo ekunene, uphendlo njengesiqhelo kwaye endaweni umsebenzi wahlela nayiphi ephucukileyo umdwelisi nkqubo. Yenza yobuciko uphendlo art ngeelwimi lwenkqubo, yaye database zatshatshela iifomu iimeko isampulu, baxhotyiswa kunye neenkqubo igcinwe, kudala kunye nezinye iindlela sample enkulu inkcazelo zonxulumelwano tracks. Inkangeleko ibinzana rhoqo ukuya revolution zange kukukhokela, kodwa ngendlela luncedo lula ukufumana indawo ulwazi. Umzekelo, amabinzana rhoqo JavaScript email lula kakhulu ubhaliso iindwendwe, musa ukulayisha le website uthumela imiyalezo iidilesi engekhoyo.

Ukuze athi ukuba i JavaScript ibinzana rhoqo ulandelelwano ngcono kakhulu produmannnyh indexOf () ukhawulelwa kukwisakhelo elibujikele aqhelekileyo nakwiinkampani, akanako kodwa ukuba oko wenza script khowudi compact, kodwa encinane liyenze loo uninitiated, kunokuba ayintsokothanga.

Object regexp = + template injini

amabinzana rhoqo - yinto injini template +. Owokuqala okunene uluvo lwarhoqo - JavaScript into - ye regexp, wesibini - inkqenkqeza ipateni, isicelo kwi emgceni. Iinjini ukuba usebenzise amabinzana rhoqo ulwimi ngalunye lokuprograma zahlukile. Kwaye nangona zonke Umahluko ebalulekileyo, kufuneka kukhunjulwa, kwakunye qiniseka ukuze bayitshekishe ngocoselelo ibinzana rhoqo phambi ukusebenza kwawo.

A notation ekhethekileyo xa ubhala ukuzithso kulula kakhulu ukuyisebenzisa kwaye kakhulu ngempumelelo, kodwa oko kufuna inkathalo, ucoceko nomonde umqambi. Ngu notation Iipateni wochazo lwarhoqo kufuneka bakuqhele. Oku asingomkhwa, yiyo ingqiqo ngezixhobo lokuphumeza «JavaScript amabinzana rhoqo."

pattern Ukutsho rhoqo

Avumelekile kwezi zinto zimbini:

var expOne = / ABC * / i;

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

Ngokuqhelekileyo lalisebenzisa indlela yokuqala. Kwimeko yesibini, le uphindo, ngokuba ukusebenzisa umlinganiswa '\', kufuneka ngokulambisa imithetho jikelele.

'I' - iflegi obonisa 'ityala buthuntu ". Uyakwazi ukusebenzisa indwe 'g' - «Ukufuna ezingqukuva 'yaye' m '- a search welayini-ezininzi.

Uphawu '/' ukubonisa eziqhelekileyo ukusebenzisa i template.

Isiqalo kunye nesiphelo kuchazo rhoqo

I '^' sichaza umlinganiswa (s) ukusuka apho ukuqala ibinzana rhoqo, kwaye '$' ichaza ukuba izakuba ngowuphi umlinganiswa (s) kufuneka ibe ekupheleni. Kufuneka asebenzise nabo ngaphakathi ibinzana, apho intsingiselo eyahlukileyo.

Umzekelo,

var eRegExp = regexp esitsha (cRegExp, 'i');

var cRegRes = '';

var sTest = 'AbcZ';

ukuba (eRegExp.test (sTest)) {

cRegRes + = '- Ewe';

} Else {

cRegRes + = '- No';

}

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

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

Isiqalelo 'scTestLine' kuya kukhokelela (cRegExp variable inentsingiselo engqinelanayo):

ibinzana / ^ AbcZ $ / kuba umtya "abcz" - Ewe

Xa ususa i 'i' iflegi, imiphumo iba:

ibinzana / ^ AbcZ $ / kuba umtya "abcz" - No

Imixholo uluvo lwarhoqo

Ukutsho rhoqo ukulandelelana abalinganiswa, yona mxholo yophendlo. Nkulumo / qwerty / ifuna yokungenela lo landelelwano:

ibinzana / qwerty / ngokuba string "qwerty" - Ewe

ibinzana / qwerty / ngokuba string "123qwerty456" - Ewe

Utshintsho '^' aveza:

ibinzana / ^ qwerty / ngokuba string "123qwerty456" - No

ibinzana / ^ qwerty / ngokuba string "qwerty456" - Ewe

Ngokufanayo, kuba isiphelo isimboli line. amabinzana rhoqo kuvumela efanayo, umzekelo, [az], [AZ], [0-9] - bonke oonobumba be-alfabhethi kule meko okanye amanani. iincwadi Russian nazo zinokusetyenziswa, kodwa kufuneka sinikele ingqalelo enkhowudingi ontambo (oko kufunwa ukuba kufunwa) kunye namaphepha. Ngokuqhelekileyo iileta Russian, kunye njengabalinganiswa ezizodwa, oko Kukhethwa ukubeka neekhowudi.

Xa ngokuvula uluvo lwarhoqo khankanya iinketho ubukho yeesimboli ezithile kwindawo ethile, kunye nenani labo enikwe ngolu hlobo lulandelayo: '*' = 0 phindo okanye amaxesha ngaphezulu; '+' = 1 okanye ngaphezulu amaxesha nophindaphindo; {1} kuyafana, njengoko '+'; {N} = phindo ngqo n amaxesha; {N,} = n phindo amaxesha okanye ngaphezulu; {N, m} = uphindaphindo n kumaxesha m.

Ukusebenzisa izibiyeli, ungakhankanya umlinganiswa iqela leenketho. Kubonakala ngathi le nto. [ABCD] = [ad] = zonke uphawu ezine: 'a', 'b', 'c' okanye 'd'. Unga ucacise ngenye indlela. Umsebenzisi ngaphandle kwezo zikhankanywe kwiseti: [^ ABCD] = umsebenzisi ngaphandle 'a', 'b', 'c' okanye 'd'. '?' Oku kubonisa ukuba ayikwazi ukuba uphawu kule ngongoma. '.' ikhankanya umsebenzisi ngaphandle ebonisa byte. Oku '\ n', '\ r', '\ u2028' okanye '\ u2029'. Ibinzana elithi '\ s * | \ S *' = '[\ s | \ S] *' uthetha khangela nawuphi na umsebenzisi, kuquka newlines.

Iinguqulelo lula wochazo lwarhoqo

Ibinzana elithi '[\ s | \ S] *' - isithuba search, okanye ukungabikho kwayo, oko kukuthi zonke izinto emgceni. Kulo mzekelo, uphawu '\ s' ibonisa isithuba, kwaye '\ S' - engekho.

Ngokufanayo, ungasebenzisa '\ d' ukukhangela dijithi enedesimali, uze '\ D' ukufumana uphawu olunga-yamanani. Notation '\ f', 'r' yaye '\ n' kunxibelelana ifomu-feed, no buyo lwesiphathi-feed.

Le iqhosha lokuhambelisa - '\ t', nkqo - '\ v'. Isiqu '\ w' ufumana umsebenzisi Latin-alfabhethi (oonobumba, amanani, kunye namanqaku sibethelela) = [A-Za-z0-9_].

Isiqu '\ W' kuyalingana [^ A-Za-z0-9_]. Oku kuthetha nawuphi na umsebenzisi ukuba akukho unobumba we-alfabhethi, inani, okanye '_'.

Ukufuna ubhalo '\ 0' = uphendlo NUL abalinganiswa. Ukufuna '\ xHH' okanye '\ uHHHH' = Ukufuna ikhowudi yekharakhtha okanye HHHH HH ngokulandelelanayo. H - idijithi hexadecimal.

amagama okunikezelwe kunye iikhowudi yokuvakalisa rhoqo

Nawuphi Ukutsho rhoqo kubalulekile ukuba kuvavanywa ngononophelo phezu iinguqulelo ezahlukileyo lemiqolo.

Namava yokudala imposiso wochazo lwarhoqo ziya kuba encinane, kodwa nangona kunjalo kufuneka ihlale inkenteza engqondweni ukuba ulwazi lwabo imigaqo yokubhala ukuzithso ayikwazi iyinyaniso, ingakumbi xa "ixesha rhoqo" budluliselwe ukusuka kolunye ulwimi kuye kolunye.

Ukukhetha phakathi zakudala (ebonisa ngqo) kunye uguqulelo kolunye ulwimi olulula lwe uluvo lwarhoqo, kungcono zithande kuqala. Ngapha koko, kwi ezakudala lisoloko kuboniswe ngokucacileyo ukuba zombini wafuna. Ukuba le ntetho yarhoqo okanye umtya search babe iileta Russian, kumele ukuba ukhokelele ekubeni olunye usebenzisa ikhowudi yonke imigca kunye iphepha kwi esebenza fumana JavaScript-ikhowudi owenza uluvo lwarhoqo.

Xa kukho inkqubo umlinganiswa, alphabet non-Latin, iyavakala ukuqwalasela ebonisa iikhowudi isimilo, hayi abalinganiswa ngokwabo.

Xa ukuphumeza algorithm kwi JavaScript wochazo lwarhoqo kufuneka lutshekishwe ngononophelo. Kubaluleke nangakumbi ukulawula umsebenzi we enkhowudingi.

Le parentheses kuchazo rhoqo

Kwizibiyeli ukuchaza iinketho ngenxa isimboli, ekufuneka ukuba okanye hayi kuba kwindawo ethile, kwaye ngeenxa - sequence ezahlukeneyo. Kodwa ke ulawulo jikelele kuphela. Ukusuka apho kungekho ngaphandle, kodwa kukho iintlobo ngeentlobo izicelo.

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

var eRegExp = regexp esitsha (cRegExp, 'i');

var cRegRes = '';

var sTest = 'picture.jpg';

ukuba (eRegExp.test (sTest)) {

cRegRes + = '- Ewe';

} Else {

cRegRes + = '- No';

}

iziphumo:

/[az]*.(png|jpg|gif)/ nkulumo for umgca "picture.jpg" - Ewe

elithi /^[ad][az]*.(png|jpg|gif)/ for "picture.jpg" line - No

/^[ad][az]*.(png|jpg|gif)/ nkulumo for umgca "apicture.jpg" - Ewe

elithi /^[ad][az]*.(png|jpg|gif)/ for "apicture.jg" line - No

Kufuneka kuqatshelwe ukuba zonke, ngoko asterisk ekhona izihlandlo zero. Oku kuthetha ukuba i "xesha rhoqo 'ukuze asebenze ngendlela engalindelekanga ubuncinane.

Khangela regexp - ukuvavanya email

E zezitsho JavaScript wafumana iindlela ezimbini, uvavanyo kunye exec, kwaye zingasetyenziswa migca izinto (Umtya) ngokweendlela zazo (imisebenzi): uphendlo, uphuphu, endaweni kunye umdlalo.

test ndlela sele zibonisile, likuvumela ukuba utshekishe ukuchaneka kuchazo rhoqo. Isiphumo Indlela: yinyaniso / zobuxoki.

Qwalasela i JavaScript amabinzana rhoqo ezilandelayo. Jonga imeyile evela kwinani "nzima, kodwa ngokuqinisekileyo ':

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

a var umtya sTest ='SlavaChip@sci.by 'unika oyinyaniso, ngoko kukho le umtya le email idilesi-ezichanekileyo. Uphicotho lwaqhutywa yi eRegExp.test (sTest).

ukusetyenziswa Practical: unyango lwe-e-Mail

indlela Exec inika uluhlu output, Andikubizanga;

var aResult = eRegExp.exec (sTest);

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

Inika isiphumo ilandelayo:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
licaciswe
sci.by
licaciswe
sci.by
Sci.

Ezinye iindlela ukusebenza ngendlela efanayo. Kuyanconywa ukuba nizifunde ngaphandle ngokwakho. Ukuphuhliswa nokusetyenziswa amabinzana rhoqo, kungakuhle ukuba usebenze, ukukopisha khowudi akusoloko kucetyiswa apha.

Popular 'sikwixesha rhoqo "

JavaScript Ukutsho rhoqo inikwa email kuphela zininzi iindlela lula ngakumbi. Ngokomzekelo, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Noko ke, le ngobuwena kuthathela ingqalelo zonke embodiments yengxelo idilesi ye email.

Kakade ke, kufuneka ukujonga namava oogxa, ukuhlalutya indlela ecetywayo zabo phambi ukuze bayile ezabo kwi JavaScript amabinzana rhoqo. Kodwa kukho ezinye iingxaki. Asimele silibale ukuba JavaScript ukuzithso (imizekelo xa bekhuphela) Uyakwazi ukuphinda abalinganiswa kubalulekile: '\', '/' okanye amagama. Oku kuya kukhokelela isiphoso, apho ungaphendla elide.

Kubalulekile ukuba kuthathelwe ingqalelo le yesiqhelo "umqondo zabantu." Emva formal JavaScript ibinzana rhoqo ifowuni, leyo isenokuba ndwendwe (umntu), unikwa ngeendlela ezahlukeneyo: 123-45-67, (29) 1234567, 80291234567 okanye 375291234567. Kwaye yonke inani elifanayo. Belibhala iipateni ezininzi akusoloko wamkelekile, yaye nitrogen engqongqo imithetho ukubhala amanani olunokudala nobunzima olungeyomfuneko okanye izithintelo. Option / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i ilungele ukuba kwiimeko ezininzi ukhangela inombolo yefowuni yakho.

Ukuba ufuna ukwenza amabinzana JavaScript rhoqo, kuphela itshekhi amanani, nokuba ityala elula enjalo kufuna ukucaciswa. Kufuneka kubhekwe elipheleleyo okanye iqhezu, ngokwe nzululwazi, okanye inombolo eziqhelekileyo, entle okanye embi. Unako ukuthatha ingqalelo ubukho isimboli yemali, inani lamasuntswana emva kwesishumi kwaye kwisahlulo inxalenye lonke inani phezu triad.

Nkulumo / ^ \ d + $ / i khangela amanani kuphela nokuzibonakalisa /^\d+\.\d+$/i uvumela ukusetyenziswa yencopho ukubonisa inxalenye iqhezu inani.

In JavaScript kokuhlola ukuzithso zingasetyenziswa ukubonisa ifomathi data igalelo nzima, nto leyo ibalulekile, ingakumbi xa ungena profiles, iinkcukacha yokundwendwela, kunye needilesi zomthetho t. D.

Khangela le mihla - alula ukuya koko kuntsonkothileyo

Cinga omnye JavaScript amabinzana rhoqo. Imizekelo ukuza kuthi ga ngoku, njengokuba inani iinombolo zomnxeba amele ukhetho phakathi ngqongqo kunye bhetyebhetye. Umhla isiganeko - enye data kubalulekile, nto leyo ngokufuthi kufuneka ukuba iphathwe. Kodwa ukulungisa igalelo ngendlela ethile: "dd-mm-yyyy 'okanye' d.m.gg 'kukhokelela zabaxhamli ukunganeliseki. Inguqu evela kwigalelo entsimini mini-to-nyanga, luzele Classic HTML-form, asikwazi ukuthatha indawo xa ufaka nenombolo eyodwa kuphela, kwaye igalelo yesibini kunokuba nzima. Ngokomzekelo, xa intsimi kwimini yaziswa 3 kwaye inani elilandelayo 2 ayiyithathi indawo yokuqala, kwaye yabhalwa 32 yakhe, leyo, Kakade ke, kuya kubangela iingxaki.

Ukusebenza kunye lula amabinzana rhoqo ncakasana kuxhomekeka kulwakhiwo jikelele ingxoxo kunye undwendwe. Xa mnye, ukuba abonise umhla kuyacetyiswa ukuba kusetyenziswe intsimi igalelo enye ifomu, khona apho kuyimfuneko ukubonelela ngenxa yamasimi ezahlukeneyo ngemini, inyanga nonyaka. Kodwa ke nawuphi na "iindleko ikhowudi" ezongezelelweyo ukukhangela konyaka omnqakathi, inani leenyanga, inani leentsuku kuzo.

Phendla kwaye endaweni, memory wochazo lwarhoqo

JavaScript indawo (ukuzithso) ngokusebenzisa indlela ye Umtya into, kwaye ukuvumela ukuba ukufumana ixabiso ukuyitshintsha ngokukhawuleza. Oku kuluncedo ukuba ukulungisa iimpazamo okubhala, hlela iziqulatho amasimi ifomu yaye lokuguqula data ukusuka format omnye ntetho kwenye.

var cRegExp = / ([a-z] +) \ s ([a-z] +) \ s ([a-z] +) / i; // xa sifuna 'variables' ezintathu

var sTest = 'eli nqaku kulungile!';
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");

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

dTestLine.innerHTML = 'ibinzana' + cRegExp + 'kuba umtya "' + sTest + '" kujika:' + cRegRes;

ngenxa:

ibinzana / ([az] +) \ s ([az] +) \ s ([az] +) / i ngenxa umgca "eli nqaku kulungile!" out: inqaku ilungile, oku!

Xa usenza isibini ngasinye yegama igcina isiphumo kwi 'Womendo' $ n, apho n - inani bengababini isibiyeli ($ 1, $ 2, ...). Ngokungafaniyo eqhelekileyo, apha iinombolo bume ngu 1, hayi 0.

iingcebiso jikelele

Ukutsho rhoqo lula ikhowudi, kodwa ixesha ukuba ngokufuthi kwenza umahluko. Ungaqala kunye noyilo elula bese wenza ukudibanisa zibe amabinzana ezintsonkothileyo ngakumbi. Ungasebenzisa iinkonzo ezahlukeneyo online ukuvavanya ukuzithso okanye izixhobo ezikhethekileyo zendawo.

Eyona ndlela ilungileyo iza kudala ilayibrari yabo amabinzana rhoqo kunye nezixhobo zabo ukuvavanya izinto ezintsha. Le yeyona ndlela ilungileyo ukudibanisa amava kunye ukuze bafunde yokwakha ngokukhawuleza uyilo ezithembekileyo.

Ukusebenzisa uphindaphindo abalinganiswa kunye neengcingo, oko kukuthi, abasebenzi abathile '*', '+' yaye braces, ebonisa inani kophindo kufuneka akhokelwe yimigaqo elula bona. Kubalulekile ukuqaphela ukuba kuchazo rhoqo ekuqaleni umsebenzi wayo, kwaye ukuze ufumane isiphumo ngokupheleleyo kumandla injini esetyenziswa yi ngumkhangeli. Ayizizo zonke iilwimi alingana JavaScript. browser nganye amenzele zabo esizithandayo ekutolikeni amabinzana rhoqo.

Ukuhambelana ayikho amaphepha nje kunye neemakhishithi isimbo, ukuba amabinzana rhoqo, oko kufuneka bakwenze. Le page isebenzisa JavaScript, kungathathwa esebenza kakuhle kuphela xa ithe ngempumelelo basebenza ezahlukeneyo bakhangeli beencwadi.

JavaScript, String and we regexp ezakutelekisa

Xa umsebenzi o right kwinqanaba client, oko kukuthi, xa ibhrawuza undwendwe e-JavaScript, oko kufuna izakhono eziphakamileyo lomphuhlisi. Long ngokwaneleyo unalo ithuba isiphene JavaScript-ikhowudi lomkhangeli ngayo imali okanye ngoncedo extensions yomntu wesithathu, ikhowudi abahleli, iinkqubo ezizimeleyo.

Noko ke, asizizo zonke iimeko, debugger ingaphatha nokubonelela ngenkxaso okulungileyo developer, a Ubhaqo impazamo okukhawulezayo, ukubona imiqobo. Amaxesha xa ikhompyutha kuye kwanikelwa ingqalelo izibalo, kwixesha elidlulileyo kude. Ngoku, nikelani ingqalelo eyodwa ulwazi kunye nomgca izinto aye kudlala indima ebalulekileyo. Inani imitya yentsimbi, yaye oko bakuko bebonisa kuphela ngexesha elifanelekileyo kunye nendawo ekunene.

amabinzana rhoqo ububazi ithuba imigca, kodwa kufuna ukuzeyisa imbeko. Yokususa regexp emsebenzini wakhe, nokuba kunokwenzeka ukuba zilinganisa, ukungayi umdla kakhulu.

Ukuqonda isakhiwo nengqiqo regexp into, elithetha into Umtya, syntax kunye semantics ze JavaScript - wokwenyaniso ikhowudi ekhuselekileyo nenokhuselo, ukusebenza ezinzileyo wephepha ngalinye kunye nesayithi liphela.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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