KompjutersIpprogrammar

Javascript, regolari espressjoni eżempji, check Espressjoni Regolari

Qabel il-miġja ta 'lingwa Portugues, iżda, sakemm deher ċar li m'għandniex biss ħarsa, iżda li jagħmlu dan taħt ċerti kundizzjonijiet, f'post partikolari, taħt id-dejta mibdula fil-kwantitajiet dritt, it-tfittxija tas-soltu u jissostitwixxi l-funzjoni organizzata kull sofistikati programmer. Oħloq kapolavuri ta 'tfittxija arti lingwi ta' programmar, u database eċċellaw fil-forom ta 'kundizzjonijiet ta' kampjunar, mgħammra maħżuna proċeduri, kawżi u mezzi oħra ta 'binarji ta' informazzjoni relazzjonali kampjun goff. Id-dehra ta 'l-espressjoni regolari lill-rivoluzzjoni ma wassalx, imma kien mod utli u konvenjenti biex isibu u jissostitwixxi l-informazzjoni. Per eżempju, espressjonijiet regolari JavaScript email tissimplifika b'mod sinifikanti reġistrazzjoni ta 'viżitaturi, ma tagħbija il-websajt jibgħat messaġġi lil indirizzi ma jeżistux.

Li wieħed jgħid li espressjoni regolari JavaScript huwa sekwenzi produmannnyh ħafna aħjar indexOf () jitlob fil-qafas ta 'ċikliku konvenzjonali u l-operaturi, ma jistax ma jgħidu li huwa għamel l-kodiċi iskrittura huwa compact, iżda ftit li jiftiehem mill-uninitiated, jista' jkun mingħajr ambigwità.

RegExp oġġett = + magna template

espressjonijiet regolari - huwa magna template +. L-ewwel huwa attwalment regolari espressjoni - JavaScript oġġett - il RegExp, it-tieni - dan l-artist template, japplikaw għal-linja. Magni li jimplimentaw espressjonijiet regolari għal kull lingwa ta 'programmar huma differenti. U għalkemm mhux differenzi kollha huma sinifikanti, għandu jiġi mfakkar, kif ukoll kun żgur li tiċċekkja bir-reqqa l-espressjoni regolari qabel operat tagħha.

Osobaya notazzjoni meta tikteb espressjonijiet regolari huwa pjuttost faċli biex jintużaw u pjuttost effettivi, iżda teħtieġ kura, l-eżattezza u l-paċenzja mill-iżviluppatur. Billi notazzjoni mudelli espressjoni regolari bżonn biex jidraw. Din mhix fad, huwa l-loġika ta 'mekkaniżmu għall-implimentazzjoni «JavaScript espressjonijiet regolari."

regolari espressjoni mudell

Permissibli żewġ għażliet:

expOne var = / abc * / i;

var expTwo = RegExp ( "abc *", "i");

Tipikament hija użat l-ewwel metodu. Fit-tieni każ, l-kwotazzjonijiet, minħabba li jużaw il-karattru "\", għandu jiġi maħruba mir-regoli ġenerali.

"I" - sinjali li jindika "każ insensittiva". Tista 'wkoll tuża bnadar "g" - «Fittex Globali" u "m" - tfittxija multi-linja.

Is-simbolu "/" sabiex tkun indikata komuni għall-użu ta 'mudell.

Il-bidu u t-tmiem tal-espressjoni regolari

Il- "^" jiddefinixxi l-karattru (i) minn fejn tibda l-espressjoni regolari, u l- "$" jiddetermina liema karattru (i) irid ikun fl-aħħar. Inti m'għandekx esperiment magħhom ġewwa espressjoni, meta jkollhom tifsira differenti.

Per eżempju,

eRegExp var = RegExp ġdid (cRegExp, "i");

cRegRes var = "";

var sTest = "AbcZ";

jekk (eRegExp.test (sTest)) {

cRegRes + = "- Iva";

} Else {

cRegRes + = "- Le";

}

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

dTestLine.innerHTML = "Espressjoni /" + cRegExp + "/ għall ringiela" "+ sTest +" "" + cRegRes.

L-element "scTestLine" se tirriżulta (varjabbli cRegExp għandu tifsira korrispondenti):

espressjoni / ^ AbcZ $ / għall-sekwenza "abcz" - Iva

Jekk inti tneħħi l-"i" bandiera, ir-riżultat huwa:

espressjoni / ^ AbcZ $ / għall-sekwenza "abcz" - L-ebda

Il-kontenut ta 'espressjoni regolari

A espressjoni regolari hija sekwenza ta 'karattri, li huwa s-suġġett tat-tfittxija. Espressjoni / QWERTY / tfittex għad-dħul huwa dan is-sekwenza:

espressjoni / QWERTY / għall string "QWERTY" - Iva

espressjoni / QWERTY / għall string "123qwerty456" - Iva

Il-bidliet "^" huma espressjonijiet:

espressjoni / ^ QWERTY / għall string "123qwerty456" - L-ebda

espressjoni / ^ QWERTY / għall string "qwerty456" - Iva

Bl-istess mod, għall-aħħar tal simbolu linja. regolari espressjonijiet jippermettu konsistenza: per eżempju, [az], [AZ], [0-9] - l-ittri kollha ta 'l-alfabet f'dan il-każ jew figuri. ittri Russi wkoll jistgħu jintużaw, iżda għandhom jagħtu attenzjoni għall-kodifikazzjoni ta 'spag (li għaliha ntalbet mitluba) u paġni. Spiss ittri Russu, kif ukoll karattri speċjali, huwa preferibbli li jiġu stabbiliti kodiċijiet.

Meta jiffurmaw espressjoni regolari tista 'tispeċifika għażliet għall-preżenza ta' ċerti simboli f'post partikolari, bin-numru tagħhom jingħata kif ġej: "*" = 0 ripetizzjoni jew darbiet aktar; "+" = 1 jew aktar drabi ripetizzjoni; {1} huwa l-istess, bħala "+"; {N} = ripetizzjoni eżattament n ħinijiet; {N,} = n ripetizzjoni darbiet jew aktar; {N, m} = ripetizzjoni ta 'n għal żminijiet m.

Bl-użu parentesi, inti tista 'tispeċifika l-karattru sett ta' għażliet. Jidher qisu dan. [ABCD] = [ad] = kull erba simbolu: "a", "b", "c" jew "d". Tista 'tispeċifika mod ieħor. Karattru minbarra dawk speċifikati fis-sett: [^ ABCD] = karattru minbarra "a", "b", "c" jew "d". "?" Hija tindika li f'dan il-punt is-simbolu ma jista 'jkun. "." jispeċifika karattru għajr li jindika l-newline. Dan "\ n", "\ r", "\ u2028" jew "\ u2029". L-espressjoni "\ i * | \ S *" = "[\ i | \ S] *" tfisser it-tfittxija għal kwalunkwe karattru, inkluż newlines.

Verżjonijiet simplifikati ta 'espressjoni regolari

L-espressjoni "[\ i | \ S] *" - l-ispazju ta 'riċerka, jew in-nuqqas tiegħu, li huwa dak kollu li hu fuq il-linja. F'dan il-każ, is-simbolu "\ i" jindika spazju, u "\ S" - assenza tiegħu.

Bl-istess mod, inti tista 'tuża "\ d'li jfittxu l-ċifri deċimali, u" \ D "issib natura mhux numeriku. Notazzjoni "\ f", "r" u "\ n" jikkorrispondu mal-formola għalf, ġarr ritorn u l-linja-għalf.

Il-karattru tab - "\ t", vertikali - "\ vs". Id-denominazzjoni "\ w" isib xi karattri Latini alfabett (ittri, numri, u l-marka jenfasizzaw) = [A-Za-z0-9_].

Id-denominazzjoni "\ W" hija ekwivalenti għal [^ A-Za-z0-9_]. Dan ifisser kwalunkwe karattru li mhuwiex ittra tal-alfabett, numru, jew "_".

karattru Fittex "\ 0" karattri = tfittxija Nul. Fittex "\ xHH" jew "\ uHHHH" = tfittxija kodiċi karattru jew HHHH HH rispettivament. H - ċifri hexadeċimali.

kliem Rakkomandata u kodifikazzjoni ta 'espressjoni regolari

Kull espressjoni regolari huwa importanti li ttestjat b'attenzjoni fuq il-verżjonijiet differenti ta 'ringieli.

Bl-esperjenza ta 'ħolqien ta' espressjoni regolari żball se tkun iżgħar, iżda madankollu għandhom dejjem jinżammu fil-moħħ li l-għarfien tagħhom tar-regoli ta 'kitba espressjonijiet regolari li ma jista' jkun minnu, speċjalment meta l- "istaġun regolari" huwa trasferit minn lingwa għal oħra.

Jagħżlu bejn klassika (indikazzjoni eżatta) u verżjoni simplifikata ta 'espressjoni regolari, ikun aħjar li jippreferu l-ewwel. Wara kollox, fil-klassiċi huwa dejjem indikat b'mod ċar li kemm mitluba. Jekk l-espressjoni regolari jew tfittxija string ikollhom ittri Russi, għandhom iwasslu għal waħda ta kodifikazzjoni l-linji u l-paġna fuq li topera ssib JavaScript kodiċi jwettaq espressjoni regolari.

Meta jkun hemm ipproċessar karattru, alfabet mhux Latin, jagħmel sens li jikkunsidraw indikazzjoni tal-kodiċi ta 'karattru, mhux il-karattri nfushom.

Meta jimplimentaw l-algoritmi tfittxija fil JavaScript espressjoni regolari għandhom jiġu ċċekkjati bir-reqqa. Huwa partikolarment importanti li jikkontrollaw il-kodifikazzjoni tal-karattri.

Il-parentesi fl-espressjoni regolari

Il-parentesi jiddefinixxu l-għażliet għall-simbolu, li għandha jew jista 'ma jkunx f'ċertu post, u tond - varjanti sekwenza. Iżda din hija biss regola ġenerali. Minnha m'hemm l-ebda eċċezzjoni, iżda hemm varjetà wiesgħa ta 'applikazzjonijiet.

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

eRegExp var = RegExp ġdid (cRegExp, "i");

cRegRes var = "";

var sTest = "picture.jpg";

jekk (eRegExp.test (sTest)) {

cRegRes + = "- Iva";

} Else {

cRegRes + = "- Le";

}

riżultati:

/[az]*.(png|jpg|gif)/ espressjoni għal-linja "picture.jpg" - Iva

espressjoni /^[ad][az]*.(png|jpg|gif)/ għal "picture.jpg" linja - L-ebda

/^[ad][az]*.(png|jpg|gif)/ espressjoni għal-linja "apicture.jpg" - Iva

espressjoni /^[ad][az]*.(png|jpg|gif)/ għal "apicture.jg" linja - L-ebda

Għandu jiġi nnutat li l, allura b'asterisk jista 'jkun preżenti żero darbiet. Dan ifisser li l- "istaġun regolari" jista 'jaħdem b'mod mhux mistenni mill-inqas.

Iċċekkja RegExp - ittestjar email

Fil espressjoni JavaScript regolari kisbet żewġ metodi, tat-test u Exec, u jistgħu jintużaw fil-linji oġġetti (String) fil-metodi tagħhom (funzjonijiet): tiftix, maqsuma, jissostitwixxu u logħba.

metodu tat-test diġà ntwera, din tippermetti li inti tiċċekkja l-korrettezza tal-espressjoni regolari. Riżultat Metodu: vera / falza.

Ikkunsidra l-espressjonijiet regolari JavaScript ġejjin. Iċċekkja email mill-numru ta ' "diffiċli, iżda ċertament":

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

string var sTest ='SlavaChip@sci.by "tagħti vera, allura jkun hemm din is-sekwenza huwa l korretta email indirizz. Il-verifika kienet immexxija mill eRegExp.test (sTest).

użu prattiku: trattament ta 'e-Mail

Metodu Exec jipprovdi l-firxa produzzjoni, sejħa:

var aresult = eRegExp.exec (sTest);

cRegRes = "
" + aResult.length + "
";
għal (var i = 0; i cRegRes + = aresult [i] + "
";
}

Hija tagħti l-riżultat li ġej:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
mhux definit
sci.by
mhux definit
sci.by
Sci.

Metodi oħra jaħdmu bl-istess mod. Huwa rakkomandat li jiċċekkjaw l barra yourself. Iżvilupp u l-użu ta 'espressjonijiet regolari, huwa mixtieq li jaħdmu fil-prattika, l-ikkupjar kodiċi mhix dejjem rakkomandabbli hawn.

Popolari "istaġun regolari"

JavaScript espressjoni regolari mogħtija to Email mhux biss hemm ħafna għażliet aktar faċli. Per eżempju, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Madankollu, il-inkarnazzjoni tqis mhux embodiments kollha tar-rekord indirizz email.

Of course, inti trid tara l-esperjenza tal-kollegi, biex tanalizza kif propost tagħhom qabel li disinn tagħhom stess fuq JavaScript espressjonijiet regolari. Iżda hemm xi diffikultajiet. M'għandniex ninsew li ftit JavaScript espressjonijiet regolari (eżempji ta 'meta l-ikkupjar) jistgħu duplikat-karattri essenzjali: "\", "/" jew kwotazzjonijiet. Dan se jwassal għal żball, li inti tista 'tfittex twil.

Huwa importanti li jitqiesu l-soltu "dimensjoni umana." Wara formali JavaScript espressjoni regolari għall-telefon, li jista 'jkun il-viżitatur (persuna), jingħata b'modi differenti: 123-45-67, (29) 1234567, 80291234567 jew 375,291,234,567. U dan kollu l-istess numru. Spellar mudelli multipli mhux dejjem aċċettabbli, u fissazzjoni riġida tar-regoli għall-kitba numri jista 'joħloq skumdità jew restrizzjonijiet bla bżonn. Għażla / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i huwa adattat għall F'ħafna każijiet, inti tiċċekkja numru tat-telefon tiegħek.

Jekk inti tixtieq li tagħmel espressjonijiet regolari JavaScript, biss kontrolli ċifri, anki f'tali każ sempliċi teħtieġ kjarifika. Għandu jitqies bħala numru sħiħ jew frazzjonali, notazzjoni xjentifika, jew in-numru normali, pożittiv jew negattiv. Tista 'wkoll tieħu in kunsiderazzjoni l-eżistenza tas-simbolu tal-munita, l-għadd ta' ċifri wara l-punt deċimali u t-tqassim tal-parti sħiħa tan-numru fuq il-trijade.

Espressjoni / ^ \ d + $ / i jiċċekkjaw numri biss u espressjoni /^\d+\.\d+$/i jippermetti l-użu ta 'punt li jindika l-parti frazzjonali tan-numru.

Fil JavaScript verifika regolari espressjonijiet jistgħu jintużaw biex jindikaw il-format tad-data input iebes, li huwa importanti, b'mod partikolari meta jidħlu profili, data tal-passaport, u l-indirizzi legali t. D.

Iċċekkja d-dati - sempliċi għall-kumpless

Ikkunsidra ieħor espressjonijiet regolari JavaScript. Eżempji sal-lum, bħal dawk għar-għadd ta 'numri tat-telefon jirrappreżentaw għażla bejn riġidità u l-flessibilità. Data ta 'avveniment - waħda mill-data essenzjali, li ħafna drabi għandhom jiġu amministrati. Iżda jiffissa l-input f'format speċifiku: "jj-xx-ssss" jew "d.m.gg" spiss iwassal għal nuqqas ta 'sodisfazzjon tal-klijent. It-tranżizzjoni mill-qasam input tal-ġurnata għal xahar, sħiħ ta 'klassika HTML forma, ma jistax iseħħ meta inti tidħol biss b'ċifra waħda, u t-tieni input jista' jkun diffiċli. Per eżempju, fil-qasam tal-ġurnata ġie introdott 3 u n-numru li jmiss 2 ma tissostitwixxix l-ewwel, u hija attribwita lilha 32, li, naturalment, se jikkawżaw inkonvenjenza.

Effiċjenza u l-konvenjenza ta 'espressjonijiet regolari essenzjalment jiddependu fuq il-kostruzzjoni ġenerali ta' djalogu mal-viżitatur. F'każ wieħed, li jindika d-data huwa rakkomandabbli li tuża qasam input wieħed mill-forma, fil-każ ieħor huwa meħtieġ li jkunu previsti l-oqsma varji għall-ġurnata, xahar u sena. Iżda mbagħad xi "spejjeż ta 'kodiċi" addizzjonali biex jivverifika l-sena biżestili, in-numru ta' xhur, in-numru ta 'ġranet fihom.

Fittex u tieħu post, regolari espressjoni memorja

JavaScript jissostitwixxu (espressjonijiet regolari) jużaw il-metodu ta 'l-oġġett String, u inessu biex isibu l-valur u l-bidla immedjatament. Dan huwa utli għall korrezzjoni ta 'żbalji ittajpjar, jeditjaw il-kontenut tal-forma oqsma u għall-konverżjoni tad-data minn format preżentazzjoni għall-ieħor.

var cRegExp = / ([a-z] +) \ i ([a-z] +) \ i ([a-z] +) / i; // meta tiftix huma tliet "fatturi"

sTest var = "dan l-artikolu huwa tajjeb!";
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");

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

dTestLine.innerHTML = "espressjoni" + cRegExp + "għall-sekwenza" + sTest + "" dawran: "+ cRegRes;

riżultat:

espressjoni / ([az] +) \ i ([az] +) \ i ([az] +) / i għal-linja "dan l-artikolu hija tajba!" l: l-artiklu huwa tajjeb, dan!

Meta jwettqu kull par ta 'parentesi taħżen l-riżultat fil- "varjabbli" $ n, fejn n - numru ta' pari parentesi ($ 1, $ 2, ...). B'differenza konvenzjonali, hawnhekk numerazzjoni varjabbli hija ta '1, mhux 0.

rakkomandazzjonijiet ġenerali

espressjoni regolari tissimplifika l-kodiċi, iżda l-ħin biex jiżviluppaw spiss jagħmel differenza. Tista 'tibda ma' disinji sempliċi u mbagħad magħmula li jikkombinaw in-espressjonijiet aktar kumplessi. Tista 'tuża s-servizzi online varji biex tittestja espressjonijiet regolari jew għodod lokali speċjali.

L-aħjar għażla se toħloq librerija tagħhom stess ta 'espressjonijiet regolari u għodda tagħhom stess biex tittestja żviluppi ġodda. Dan huwa l-aħjar mod biex jikkonsolidaw l-esperjenza u jitgħallmu kif malajr tibni disinn affidabbli u komdu.

Bl-użu ripetizzjoni ta 'karattri u kordi, jiġifieri, karattri speċjali "*", "+" u ċineg, li jindika n-numru ta' repetizzjonijiet għandhom ikunu ggwidati mill-prinċipji tas-sempliċità u espedjenza. Huwa importanti li tirrealizza li espressjoni regolari għall-bidu tal-ħidma tiegħu, u li jiksbu l-riżultat huwa kompletament fil-qawwa tal-magna użata mill-browser. Mhux lingwi kollha huma ekwivalenti għal JavaScript. Kull browser tista 'ġġib tagħhom preferenzi personali fl-interpretazzjoni ta' espressjonijiet regolari.

Kompatibbiltà huwa mhux biss paġni u folji stil, għall-espressjonijiet regolari, għandu wkoll tagħmel. Il-paġna użi JavaScript, tista 'titqies bħala li jiffunzjona tajjeb biss meta jkun b'suċċess ħadem fuq varjetà ta' browsers.

JavaScript, String u RegExp

Mill-impjieg id-dritt fil-livell klijent, jiġifieri, fil-browser tal-viżitatur fil JavaScript, huwa teħtieġ kapaċitajiet għolja ta 'l-iżviluppatur. Twil biżżejjed inti għandek l-opportunità li debug JavaScript kodiċi browser fondi proprji jew bl-għajnuna ta 'estensjonijiet ta' parti terza, edituri kodiċi, programmi indipendenti.

Madankollu, f'ħafna każijiet, id-debugger jista 'jmexxi u jipprovdi lill-iżviluppatur b'appoġġ tajjeb, skoperta rapida ta' żbalji, u sejba ta 'ostakoli. Iż-żminijiet meta l-kompjuter kien iffokat fuq il-kompjuters, fil-passat imbiegħed. Issa tingħata attenzjoni speċjali lill-informazzjoni, u l-oġġetti tal-linji bdew ikollhom rwol essenzjali. In-numri saru kordi, u juru l-essenza vera tagħhom biss fil-ħin u fil-post it-tajjeb.

Espressjonijiet regolari isaħħu l-possibbiltajiet tal-linji, iżda jeħtieġu rispett dovut. Debug RegExp fil-proċess tax-xogħol tagħha, anki jekk huwa possibbli li tiġi mmodifikata, mhux idea wisq interessanti.

Il-fehim tal-istruttura u l-loġika tal-oġġett RegExp, it-tifsira tal-oġġett String, is-sintassi u s-semantika tal-JavaScript hija garanzija żgur għal kodiċi sigur u affidabbli, l-operazzjoni stabbli ta 'kull paġna u s-sit kollu kemm hu.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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