Awọn kọmputa, Eto eto
PHP (deede ikosile) - kini o jẹ? Awọn apẹẹrẹ ati ṣayẹwo ti awọn iṣọrọ deede
Nigbati o ba n ṣiṣẹ pẹlu awọn ọrọ ni eyikeyi eto siseto eleni, awọn olupelọpọ maa n pade nigbagbogbo pẹlu awọn iṣẹ ṣiṣe ti ṣayẹwo awọn data ti a ti tẹ fun ibamu si awoṣe ti a beere, wiwa ati rirọpo awọn ajẹku idaniloju ati awọn iṣẹ miiran fun iṣeduro alaye ami. Idagbasoke awọn iṣeduro aligoridira ti ara ẹni nfa si isonu ti akoko, incompatibility of code program and complexity in its development and modernization.
Idagbasoke idagbasoke ti Intanẹẹti ati awọn ede ti WEB-idagbasoke nilo fun ẹda gbogbo awọn ohun elo ti n ṣatunṣe awọn ohun elo ati awọn iyatọ pẹlu iye ti o kere julọ fun koodu yii. Ọrọ PHP jẹ kii ṣe iyatọ ati ki o jẹ gbajumo laarin awọn olubere ati awọn ọjọgbọn Difelopa. Ifihan deede bi ede ti awọn awoṣe ọrọ faye gba o lati ṣe iyatọ si iṣẹ-ṣiṣe ti sisọ ọrọ ati dinku koodu eto nipasẹ mẹwa ati ọgọrun awọn ila. Ọpọlọpọ awọn iṣẹ-ṣiṣe ko ṣee ṣe laisi rẹ.
Awọn igbagbogbo ni PHP
Oriṣe PHP ni awọn ọna mẹta fun ṣiṣẹ pẹlu awọn igbagbogbo - "ereg", "mb_ereg" ati "preg". O wọpọ julọ ni wiwo "preg", awọn iṣẹ ti n pese aaye si iwe-aṣẹ atilẹyin alakoso PC, ti iṣagbekale fun ede Perl, eyi ti o wa ninu apo package PHP. Ṣiṣe awọn iṣẹ-ṣiṣe-ami-ọrọ ninu ọrọ ọrọ ti o kan pato ti baramu, ni ibamu si awọn apẹrẹ kan ninu ede awọn iṣọrọ deede.
Awọn orisun ti sintasi
Laarin awọn ilana ti akọọlẹ kukuru ko ṣeeṣe lati ṣafihan ni apejuwe gbogbo iṣeduro ti awọn igbagbogbo, fun idi eyi awọn iwe-aṣẹ pataki kan wa. Eyi ni o kan awọn eroja pataki fun fifihan ọpọlọpọ awọn aṣayan ti o ṣeeṣe fun Olùgbéejáde ati oye ti awọn apejuwe awọn apejuwe.
Ni PHP, ọrọ ikosile deede wa ni asọye ti o ṣòro pupọ, ati nitori naa, a ṣe alaye idiwe naa. Agbejade deede jẹ ọrọ ọrọ. O ni awoṣe ti a yanju ati atunṣe kan, o nfihan bi o ṣe le mu o. O ṣee ṣe lati ni awọn ọna miiran ati awọn atunṣe ni awọn awoṣe.
Fun apẹẹrẹ, ni ikosile / \ d {3} - \ d {2} - \ d {2} / m divider ni "/", atẹle nipa awọn awoṣe, ati awọn aami «m» ni awọn modifier.
Gbogbo agbara ti awọn iṣọrọ deede jẹ ti yipada pẹlu awọn metacharacters. Ifilelẹ akọkọ ti sisọ ede naa jẹ apẹrẹ - "\". O yi ayipada ohun ti o tẹle lẹhin ti o ni idakeji (eyini ni pe, kikọrin ti o wa ni oju-ọna ti o wa ni apẹrẹ ati ni idakeji). Miiran pataki metaputacter ni ila taara "|", eyi ti o ṣe apejuwe awọn iyatọ miiran ti awoṣe. Awọn apejuwe diẹ ti awọn metacharacters:
| ^ | Bẹrẹ ti ohun kan tabi okun |
| ( | Bẹrẹ ti ile-ẹkọ giga |
| ) | Ipari ile-iṣẹ |
| { | Ipilẹ ti titobi |
| } | Ipari titobi |
| \ D | Nọmba nomba lati 0 si 9 |
| \ D | Eyikeyi ohun kikọ ti kii ṣe nọmba kan |
| \ S | Oju-ọṣọ, aaye, taabu |
| \ W | Ṣe apejuwe ohun kikọ |
PHP, ṣiṣe awọn iṣọrọ deede, wo aaye kan bi aami pataki pataki, nitorina awọn ọrọ ABCDEF ati ABC WHERE yatọ.
Awọn ilana afẹfẹ
Ni PHP, awọn iṣakoso ile-iṣẹ deede ni a pin ni awọn ọpa ati pe awọn igba miran ni a npe ni "subexpressions". Ṣe awọn iṣẹ wọnyi:
Ipin yiyan. Fun apẹẹrẹ, awọn ooru Àpẹẹrẹ (nkankan | Bird |) coincides pẹlu awọn ọrọ "ooru", "Firebird" ati "gbona". Ati laisi awọn akọmọ, eyi yoo jẹ okun ti o ṣofo, "eye" ati "agbọn".
"Ibanuje" ile-iṣẹsẹ. Eyi tumọ si pe ti awọn ere-ọna asopọ ni awoṣe, lẹhinna gbogbo awọn ere-kere ti wa ni pada bi abajade kan. Fun asọtẹlẹ, a fun apẹẹrẹ kan. Fi fun awọn wọnyi deede ikosile: awọn Winner gba ((wura | goolu palara) (medal | ago)) - ati awọn okun fun kere, "awọn Winner n ni a goolu loôdun." Ni afikun si awọn ni ibẹrẹ gbolohun, awọn èsì àwárí yoo wa ni ti oniṣowo: "Gold Fadaka", "iyin", "goolu".
Awọn oniṣẹ atunwi (awọn ẹẹrinrin)
Nigbati o ba ṣẹda awọn iṣọrọ deede, o jẹ nigbagbogbo igba pataki lati ṣe itupalẹ atunwi awọn nọmba ati aami. Eyi kii ṣe iṣoro kan ti ko ba ni ọpọlọpọ awọn atunṣe. Ṣugbọn kini ti a ko ba mọ nọmba gangan wọn? Ni idi eyi, o nilo lati lo awọn metacharacters pataki.
Fun apejuwe awọn atunṣe, awọn fifa mẹrin ni a lo - awọn apẹrẹ meta fun sisọ nọmba naa. Awọn ipele mẹrin jẹ awọn oriṣiriṣi meji:
- Gbogbogbo, ti o wa ninu awọn biraketi;
- Abridged.
Lapapọ titobi ni o ni ipa nipasẹ iye ti o kere julọ ati nọmba ti o pọju fun awọn atunṣe ti o ṣee ṣe fun awọn ero ni awọn nọmba ti awọn nọmba meji ni awọn biraketi wiwa, fun apẹẹrẹ: x {2,5}. Ti nọmba ti o pọju ti awọn atunṣe ko jẹ aimọ, ariyanjiyan keji ko ni pato: x {2,}.
Awọn iwọn titobi dinku jẹ awọn aami fun awọn atunṣe ti o wọpọ julọ lati yago fun iṣeduro ti ko ni dandan ti iṣeduro naa. Mimọ mẹta ni a maa n lo:
1. * - Ero ati diẹ repetitions, eyi ti o jẹ deede si {0,}.
2. + ọkan tabi diẹ ẹ sii repetitions, ie.e {1,}.
3.? - odo tabi nikan atunwi - {0,1}.
Awọn apeere ti awọn igbasilẹ deede
Fun awọn ti o ṣe ayẹwo awọn igbagbogbo, awọn apeere jẹ iwe ẹkọ ti o dara julọ. A fun awọn diẹ ti o fi awọn anfani ti o pọju wọn han pẹlu iṣẹ ti o kere julọ. Gbogbo awọn koodu eto ni ibamu pẹlu PHP 4.x ati awọn ẹya ti o ga julọ. Lati ni oye ti iṣeduro naa ati lo gbogbo awọn ẹya ara ilu, a ṣe iṣeduro iwe J. Friedl "Awọn apejuwe deede", nibiti a ti gbọ agbọwadi pupọ ati pe awọn apeere ti awọn ọrọ deede ko ni PHP nikan, ṣugbọn ni Python, Perl, MySQL, Java, Ruby ati C #.
Ṣiṣayẹwo atunṣe ti adirẹsi imeeli
Iṣẹ-ṣiṣe naa. Oju-iwe Ayelujara wa ni ibiti o ti beere adirẹsi imeeli lati ọdọ alejo. Awọn ikosile deede gbọdọ ṣayẹwo atunṣe ti adirẹsi ti o ti gba ṣaaju fifiranṣẹ. Ayẹwo ko ṣe idaniloju pe apoti leta ti o wa ni pato wa o si gba awọn lẹta. Ṣugbọn o ṣee ṣe lati da jade daradara ni awọn adirẹsi ti ko tọ.
Ojutu naa. Gẹgẹbi ninu eyikeyi eto siseto, awọn iṣọrọ deede ti iforukọsilẹ adirẹsi imeeli ni PHP le ṣee ṣe ni PHP ni ọna oriṣiriṣi, ati awọn apeere ninu àpilẹkọ yii ko ni ikẹhin ati aṣayan nikan. Nitorina, ni idajọ kọọkan, a yoo ṣe akojọ awọn ibeere ti o nilo lati mu sinu iroyin ni siseto, ati pe imuse pato kan da lori gbogbo idagbasoke.
Nitorina, ọrọ ti o ṣayẹwo ifamọsi imeeli gbọdọ ṣayẹwo awọn ipo wọnyi:
- Iwaju ti aami @ ni okun orisun ati isansa awọn aaye.
- Ilẹ apakan ti adirẹsi naa, ni ita ẹ sii @ aami, nikan ni awọn ohun elo ti o wulo fun awọn orukọ-ašẹ. Kanna kan si orukọ olumulo.
- Nigbati o ba n ṣatunkọ orukọ olumulo, o gbọdọ pinnu boya awọn lẹta pataki wa, bi apẹẹrẹ apostrophe tabi igi ti o wa titi. Iru aami bẹ ni o lewu ati pe o le wa ninu awọn ipalara gẹgẹbi awọn injections SQL. Yẹra fun awọn adirẹsi wọnyi.
- Awọn olumulo olumulo gba aaye kan nikan, eyi ti ko le jẹ akọkọ tabi ohun kikọ kẹhin ninu okun.
- Orukọ ašẹ gbọdọ ni o kere ju meji ati kii ṣe ju awọn ohun kikọ mẹfa lọ.
Apẹẹrẹ ti o ṣe akiyesi gbogbo awọn ipo wọnyi ni a le rii ninu nọmba rẹ ni isalẹ.
Ìdánimọ awọn URL
Iṣẹ-ṣiṣe naa. Ṣayẹwo boya awọn pàtó kan ọrọ okun ni a wulo adirẹsi URL. Lẹẹkankan, awọn ọrọ URL deede le ṣee ṣe ni awọn ọna pupọ.
Ojutu naa. Ẹya ipari wa jẹ bi wọnyi:
/^(https?:\/\/)?( gata\da-z\.- wá+)\.( ọjọaz\.ɪ{2.6})( gata\/\w \ .-] *) * \ /? $ /
Nisisiyi ẹ jẹ ki a ṣayẹwo awọn ẹya ara rẹ ni apejuwe sii nipa lilo nọmba.
| Igbesẹ 1 | Ṣaaju ki URL naa ko le jẹ ohun kikọ eyikeyi |
| Igbesẹ 2 | A ṣayẹwo fun idiyele dandan "http" |
| Igbesẹ 3 | Ko gbodo jẹ ohun kikọ kankan |
| Igbesẹ 4 | Ti o ba wa ni "s", lẹhinna URL naa tọka si asopọ ti o ni aabo "https" |
| Igbesẹ 5 | Ti a beere "//" |
| Igbesẹ 6 | Ko si ohun kikọ |
| Ohun kan 7-9 | Ijẹrisi awọn igba akọkọ ti ipele-ašẹ ati niwaju ojuami |
| 10-13 | Ṣiṣakoso atunṣe kikọ kikọ ipele-ipele keji ati aaye |
| Igbesẹ 14-17 |
Ilana faili URL jẹ ṣeto awọn nọmba, awọn lẹta, awọn idaniloju, awọn hyphens, awọn aami ati awọn ipalara ni opin |
Ṣiṣayẹwo awọn nọmba kaadi kirẹditi
Iṣẹ-ṣiṣe naa. O ṣe pataki lati ṣayẹwo otitọ ti nọmba kaadi kirẹditi ti o tẹ ti awọn ọna ṣiṣe ti o wọpọ julọ. A iyatọ nikan fun awọn kaadi Visa ati MasterCard.
Ojutu naa. Nigbati o ba ṣẹda ikosile, o jẹ dandan lati ṣe akiyesi ibiti o wa niwaju awọn aaye ni nọmba ti a tẹ. Awọn nọmba ti o wa lori maapu ti pin si awọn ẹgbẹ fun kika kika ati imuduro. Nitorina o jẹ adayeba pe eniyan le gbiyanju lati tẹ nọmba sii ni ọna yii (ie, lilo awọn alafo).
O nira sii lati kọ akọsilẹ ti gbogbo agbaye ti o ṣe iranti awọn aaye ati awọn hyphens ti o le ṣeeṣe ju lati fi silẹ gbogbo awọn aami afi awọn nọmba. Nitorina, ninu ikosile naa, a ni iṣeduro lati lo awọn ohun elo D / D, eyiti npa gbogbo awọn lẹta laisi awọn nọmba.
Bayi o le lọ taara si iṣeduro nọmba. Gbogbo awọn ile kirẹditi kaadi kirẹditi lo ọna kika nọmba oto. Ni apẹẹrẹ, a lo, ati pe onibara ko nilo lati tẹ orukọ ile-iṣẹ - o jẹ ipinnu nipasẹ nọmba naa. Awọn kaadi Visa bẹrẹ nigbagbogbo pẹlu 4 ati ki o ni ipari ti awọn nọmba 13 tabi 16. MasterCard bẹrẹ ni ibiti 51-55 pẹlu ipari ti nọmba 16. Bi abajade, a gba ikosile wọnyi:
Ṣaaju ki o to ṣe atunṣe aṣẹ naa, o le ṣe ayẹwo ayẹwo diẹ ninu nọmba ti nọmba naa, ti o ṣe iṣiro nipasẹ algorithm ti Oṣupa.
Ṣiṣayẹwo awọn nọmba foonu
Iṣẹ-ṣiṣe naa. Ṣiṣayẹwo atunṣe ti nọmba foonu ti a tẹ.
Ojutu naa. Nọmba awọn nọmba ninu awọn nọmba ti o wa titi ati awọn nọmba foonu alagbeka yatọ gidigidi da lori orilẹ-ede, nitorina o jẹ gbogbo lati ṣayẹwo nipa lilo awọn igbagbogbo, nọmba foonu ko le jẹ ti o tọ. Ṣugbọn awọn nọmba ilu okeere ni kika ti o muna ati pe o dara fun ṣayẹwo nipasẹ awoṣe. Pẹlupẹlu, awọn oniṣẹ foonu pupọ ati siwaju sii n gbiyanju lati ni ibamu pẹlu ọna kika kan. Iwọn nọmba jẹ bi wọnyi:
+ CCC.NNNNNNNNNNxEEEE, ibi ti:
- C jẹ koodu orilẹ-ede ti o wa ninu awọn nọmba 1-3.
- N - nọmba to 14 nọmba.
- E jẹ afikun itẹsiwaju.
Plus jẹ ẹri dandan, ati aami ti x jẹ wa nikan ti iṣeduro jẹ pataki.
Bi abajade, a ni ikosile wọnyi:
^ \ + [0-9] {1,3} \. [0-9] {4,14} (?: X. +)? $
Awọn nọmba ni ibiti
Iṣẹ-ṣiṣe naa. O ṣe pataki lati rii daju pe nọmba okidi kan baamu ni awọn ibiti. Ni afikun, o jẹ dandan pe awọn wiwa deede ni a ri nikan lati ibiti o ti ni iye.
Ojutu naa. A fi ọpọlọpọ awọn gbolohun ọrọ han fun ọpọlọpọ awọn ọrọ ti o wọpọ julọ:
| Mọ wakati naa lati ọjọ 1 si 24 | ^ (1 [0-2] | [1-9]) $ |
| Ọjọ inu osu 1-31 | ^ (3 [01] | [12] [0-9] | [1-9]) $ |
| Keji tabi iṣẹju 0-59 | ^ [1-5]? [0-9] $ |
| Nọmba lati 1 si 100 | ^ (100 | [1-9]? [0-9]) $ |
| Ọjọ Ọdún 1-366 | ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] [2} | [1-9] [0-9]?) $ |
Ṣawari fun adirẹsi IP
Iṣẹ-ṣiṣe naa. O gbọdọ pinnu boya okun ti o wa ni adiresi IP ti o wulo ni ipo IPv4 ni ibiti o wa lati 000.000.000.000-255.255.255.255.
Ojutu naa. Gẹgẹbi iṣẹ-ṣiṣe PHP eyikeyi, ikosile deede ni nọmba awọn aṣayan. Fun apẹẹrẹ, eyi:
Idanwo lori ayelujara ti awọn ọrọ
Ṣiṣayẹwo awọn ọrọ deede fun atunṣe fun awọn olutẹpa ti nbẹrẹ le jẹ nira nitori idiwọn ti iṣeduro, eyiti o yato si awọn ede sisẹ "deede". Lati yanju iṣoro yii, ọpọlọpọ awọn iwe-iṣọrọ lori ayelujara ti o jẹ ki o jẹ ki o rii daju pe atunṣe ti awoṣe ti o ṣẹda lori ọrọ gidi. Olupese naa nwọ ọrọ naa ati awọn data fun iṣeduro ati ni wo o rii abajade ti processing. Ni ọpọlọpọ igba nibẹ tun ni aaye itọkasi nibiti awọn gbolohun deede, awọn apẹẹrẹ ati awọn iyatọ imuposi fun awọn eto siseto ti o wọpọ ni a ṣe alaye ni awọn apejuwe.
Ṣugbọn ni kikun igbagbọ awọn esi ti awọn iṣẹ ori ayelujara kii ṣe iṣeduro fun gbogbo awọn oludasile ti o lo PHP. Ikosile deede, ti a kọ ati ṣayẹwo ni eniyan, mu ẹtọ ati ṣe ẹri isansa awọn aṣiṣe.
Similar articles
Trending Now