ComputersProgramming

PHP (regex) - yog dab tsi? Piv txwv thiab xyuas tsis tu ncua kab zauv

Thaum ua hauj lwm nrog cov ntawv nyeem nyob rau hauv tej niaj hnub programming lus, developers lossi ntsib nrog lub hom phiaj ntawm lub tswv yim validation rau ua raws li cov kev kawm txawv, nrhiav thiab hloov xeem tawg tsam thiab lwm yam ntawm cov zauv ua hauj lwm ntawm cov ua cim ntaub ntawv. Tsim koj tus kheej validation algorithms ua rau tsis ntawm lub sij hawm, lub code compatibility thiab complexity nyob rau hauv nws txoj kev loj hlob thiab Modernization.

Lub ceev ceev txoj kev loj hlob ntawm lub Internet thiab WEB-tsim hom lus yuav tsum tau cov creation ntawm ntau yam thiab compact txhais tau tias cov ntawv nyeem ua nrog ib tug tsawg kawg nkaus tus nqi yuav tsum tau rau txoj kev cai no. Nws yog tsis muaj kev zam thiab yog nrov ntawm cov beginners thiab kev tsim ntawm PHP lus. Cov kev qhia lus raws li cov ntawv nyeem templates mus piv rau cov hauj lwm ntawm kov cov ntawv nyeem thiab txo code rau kaum thiab pua pua ntawm cov kab. Muaj ntau cov teeb meem yuav tsis tau solved ntawm tag nrho cov tsis tau nws.

Tsis tu ncua zaj lus nyob rau hauv PHP

PHP lus muaj peb mechanisms rau ua hauj lwm nrog cov kab zauv - «ereg», «mb_ereg» thiab «preg». Feem ntau yog cov interface «preg», uas nws tso cai muab kev nkag tau mus rau lub tsev qiv ntawv ntawm lub PCRE kev qhia kev pab txhawb nqa, muas thaum chiv thawj yog tsim los rau cov Perl lus, uas yog muaj nyob rau hauv lub PHP pob. Preg-nrhiav kev khiav dej num nyob rau hauv ib tug muab ntawv nyeem txoj hlua txuam, raws li ib tug tej yam qauv nyob rau hauv cov lus ntawm kev kab zauv.

syntax Tsim

Raws li ib feem ntawm ib tug luv luv hauv tsab xov xwm nws yog tsis yooj yim sua los mus piav txog nyob rau hauv kom meej lub tag nrho kev qhia syntax, qhov no muaj yog ib tug tshwj xeeb ntaub ntawv. Peb muaj tsuas lub ntsiab ntsiab los qhia txuj rau kev tsim tawm thiab to taub cov code piv txwv.

Nyob rau hauv PHP kev qhia yog thawm xyoo txhais nyuaj heev, thiab yog li ntawd piv qhov kev piav qhia. Ib tug kev qhia yog ib phau ntawv txoj hlua. Nws muaj ib tug siab separator template thiab cov modifier qhia txoj kev mus daws nws. Tau menyuamuas nyob rau hauv ntau lwm txoj kev thiab repetitions ntawm cov qauv.

Piv txwv li, nyob rau hauv kev qhia / \ d {3} - \ d {2} - \ d {2} / m divider yog "/", ua raws li los ntawm cov qauv, thiab cov cim «m» yog lub modifier.

Tag nrho cov hwj chim ntawm kev kab zauv yog kho siv meta-cim. Lub ntsiab lus metacharacter yog lub backslash - "\". Nws hloov lub hom li nram qab no cov cim nyob rau hauv lub rov qab (ie. E. Hloov Siab Los Ntseeg rau hauv ib tug dog dig cim wildcard thiab vice versa). Ib qho tseem ceeb metacharacter yog ib tug ncaj kab «|», qhia txog lwm template. Ntau cov piv txwv ntawm meta-cim:

^ Pib yam khoom los yog ib txoj hlua
( pib subpattern
) End subpattern
{ Start quantifier
} End quantifier
\ d decimal zauv los ntawm 0 mus 9
\ D tej lub cim uas tsis yog ib tug xov tooj
\ s empty cim, qhov chaw, tab,
\ w cim phau ntawv txhais lus

PHP, ua kev kab zauv, qhov chaw xam tau tias yog raws li ib tug nyias muaj nyias ib siv tau tus cwj pwm, yog li cov qhia ntawm XYZ thiab ABC QHOV TWG yog cov sib txawv.

subpatterns

Nyob rau hauv PHP kev subpatterns los ntawm koov, thiab lawv tej zaum hu ua "subexpressions". Ua raws li nram no functions:

  1. Lub cawm. Piv txwv li, lub tshav kub qauv (ib yam dab tsi | Noog |) coincides nrog cov lus "Thaum tshav kub kub", "Firebird" thiab "kub". Thiab tsis muaj lub nkhaus nws yuav tsuas yuav ib qho kev npliag hlua, "noog" thiab "kub".

  2. "Spectacular" subpattern. Qhov no txhais tau tias yog tus qauv sib phim substring, ces rov tag nrho qhov yuam kev. Rau clarity, peb yuav muab ib qho piv txwv. Muab cov nram qab no kev qhia: tus khiav tau txais ((kub | kub plated) (puav pheej | khob)) - thiab txoj hlua rau qhov yuam kev, "tus khiav tau txais ib tug kub puav pheej." Nyob rau hauv tas li ntawd mus rau thawj lub kab lus, tshawb fawb soj ntsuam yuav tsum muab: "Kub puav pheej", "medals", "kub".

Tswv repetitions (kvadrifikatory)

Nyob rau hauv compiling cov kev qhia yog feem ntau tsim nyog los soj ntsuam qhov repetition ntawm cov zauv thiab cov cim. Qhov no yog tsis yog ib tug teeb meem, Yog hais tias tsis yog ib tug ntau ntawm cov repetitions. Tab sis yuav ua li cas thaum uas peb tsis paub lawv cov pes tsawg tsawg? Nyob rau hauv cov ntaub ntawv no nws yog tsim nyog los siv tshwj xeeb metacharacters.

Rau ib tug piav qhia ntawm repetitions siv kvadrifikatory - metacharacters qhia kom meej rau hauv lub xov tooj. Kvadrifikatory yog ob hom:

  • ntau nyob rau hauv pab pawg;
  • txo.

Zuag qhia tag nrho quantifier kov los ntawm qhov tsawg kawg nkaus thiab siab tshaj plaws pes tsawg tus ntawm pub repetitions caij nyob rau hauv daim ntawv ntawm ob tug zauv nyob rau hauv kev zawm hniav, xws li x {2,5}. Yog hais tias lub siab tshaj plaws pes tsawg tus ntawm repetitions yog tsis paub, tus thib ob sib cav tsis yog kev cai tswjhwm: x {2}.

Abbreviated quantifiers yog cov cim rau lub feem ntau ntawm repetitions nyob rau hauv kev txiav txim kom tsis txhob ruaj overloading syntax. Feem ntau muaj peb txiav:

1. * - pes tsawg los yog ntau tshaj repetitions, uas yog sib npaug rau {0,}.

2. + - ib los yog ntau tshaj repetitions, piv txwv li, {1} ...

3.? - zero los yog tsuas yog ib tug rov - {0,1}.

Piv txwv regex

Rau cov neeg uas kawm tsis tu ncua kab zauv, piv txwv - qhov zoo tshaj plaws phau ntawv nyeem. Peb muab ib tug ob peb qhia tias lawv lub sij hawm nrog ib tug tsawg kawg nkaus ntawm lub dag zog. Tag nrho cov code yog tau siab tshaj versions ntawm PHP 4.x thiab saum toj no. Yuav kom nkag siab lub syntax thiab kev pab ntawm tag nrho cov lus nta peb pom zoo rau phau ntawv los ntawm J .. Friedl, "tsis tu ncua kab zauv", uas siab xam tias yog syntax, thiab muaj cov piv txwv ntawm kev kab zauv tsis tsuas PHP, tab sis kuj rau ib tug nab hab sej, Perl, MySQL, Java, Ruby, thiab C #.

Validation E-mail chaw nyob

Ua hauj lwm. Muaj yog ib qho Internet page uas cov qhua yog thov chaw nyob email. Kev qhia yuav tsum khij lub correctness ntawm cov chaw nyob ua ntej yuav xa cov lus. Check tsis lav tias cov teev cov ntawv uas ua tau tshwm sim thiab tau txais cov lus. Tab sis cov nroj tsuag tawm obviously tsis ncaj ncees lawm chaw nyob nws ua tau.

Kev txiav txim siab. Raws li cov kev programming lus, nyob rau hauv PHP regex email-chaw nyob pov thawj yuav muab los siv nyob rau hauv ntau txoj kev, thiab cov piv txwv nyob rau hauv no tsab xov xwm no yog tsis yog qhov kawg thiab tsuas xaiv. Yog li ntawd, nyob rau hauv txhua rooj plaub, peb yuav muab ib daim ntawv teev cov uas yuav tsum tau uas yuav tsum tau yuav tsum tau noj mus rau hauv tus account thaum lub cajmeem thiab kev siv nyob nkaus rau tus tsim tawm.

Yog li, cov kev qhia uas mus ib tug siv tau email, yuav tsum tau xyuas cov nram qab no tej yam kev mob:

  1. Cov muaj nyob rau hauv lub starting kab @ cim, thiab muaj cov tsis muaj khoob.
  2. Tus sau ib feem ntawm qhov chaw nyob ntawm lub @ cim, muaj tsuas yog siv tau cim rau sau npe. Tib yam siv rau cov neeg siv lub npe.
  3. Thaum kuaj tau tus username yog tsim nyog los txiav txim seb lub xub ntiag ntawm tus cim tshwj xeeb xws li ib tug apostrophe los yog txoj kab ntsug. Tej cim yog uas yus thiab yuav muaj nyob rau hauv xws hom kev tawm tsam uas SQL-txhaj tshuaj. Tsis txhob chaw nyob.
  4. usernames cia tsuas yog ib qho taw tes, uas tej zaum yuav tsis yog tus ua ntej los yog lub xeem cim nyob rau hauv txoj hlua.
  5. Tus sau lub npe yuav tsum muaj tsawg kawg yog ob thiab tsis ntau tshaj rau cov cim.

Piv txwv li, noj mus rau hauv tus account tag nrho cov kev mob uas yuav tsum tau pom nyob rau hauv cov nram qab no daim duab.

Validation ntawm ib tug URL

Ua hauj lwm. Kos seb tus teev ntawv nyeem txoj hlua yog ib tug siv tau qhov chaw nyob URL. Ib zaug ntxiv, peb nco ntsoov tias kev kab zauv URL-checking tau muab los siv nyob rau hauv ntau txoj kev.

Kev txiav txim siab. Peb kawg version yog raws li nram no:

/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /

Tam sim no tsom xam nws cov Cheebtsam nyob rau hauv ntau nthuav dav siv rau hauv daim duab.

thov 1 Ua ntej lub URL yuav tsum tsis txhob muaj tej cim
Claim 2 Kos rau lub xub ntiag ntawm lub yuav tsum tau prefix «http»
yam khoom 3 Yuav tsum muaj tsis muaj cov cim
Claim 4 Yog hais tias muaj «s», lub URL cov ntsiab lus mus rau ib tug secured kev twb kev txuas «https»
Claim 5 Yuav tsum tau feem ntawm lub "//"
Claim 6 Tsis cim
p. 7-9 Xyuas cov thawj theem sau thiab muaj cov point
p.10-13 Xyuas cov sau sau ntawv rau hauv lub thib ob theem thiab lub point
p.14-17

Cov ntaub ntawv qauv URL - ib tug txheej ntawm cov zauv, cov tsiaj ntawv, underscores, dashes, tsuas me me, thiab ib tug luaj thaum kawg

Kos rau lub credit card numbers

Ua hauj lwm. Koj yuav tsum siv validation ntawm lub nkag mus hauv credit card tooj ntawm feem ntau them nyiaj systems. Ib tug variant tsuas yog rau cov phaib Visa thiab MasterCard.

Kev txiav txim siab. Thaum tsim cov kev qhia uas koj xav tau coj mus rau hauv tus account lub tau muaj kev ncua nyob rau hauv lub tswv yim chav tsev. Cov xaus-npawb tsab rau hauv daim ntawv qhia no faib mus rau hauv ib pawg rau yooj yim nyeem ntawv thiab hais. Yog li ntawd, nws yog tej yam ntuj tso tau hais tias ib tug neeg muaj peev xwm sim mus rau nkag mus ib tug xov tooj nyob rau hauv no txoj kev (ie. E. Siv tej qhov chaw).

Sau ib tug universal qhia tias yuav siv sij hawm mus rau hauv tus account tau tej qhov chaw los yog hyphens, yog nyuab tshaj cias muab pov tseg tag nrho cov cim tsuas yog tug lej tom qab. Yog li ntawd, peb pom zoo siv ib tug wildcard qhia / D, uas tshem tawm tag nrho cov cim tsuas yog tug lej tom qab.

Tam sim no koj muaj peev xwm mus ncaj qha mus rau ntawm daim tshev tooj. Tag nrho cov tuam txhab uas muag, credit card issuers siv ib tug tshwj xeeb tooj hom ntawv. Nyob rau hauv lub Piv txwv li nws yog siv, thiab tus neeg yuav tsis tau mus rau hauv lub npe ntawm lub tuam txhab - nws yog txiav txim los ntawm tus xov tooj. Visa phaib yeej ib txwm pib nrog cov zauv 4 thiab muaj ib tug ntev ntawm 13 los yog 16 tug lej tom qab. MasterCard pib nyob rau hauv lub chav 51-55 nrog ib tug ntev tooj 16. Raws li ib tug tshwm sim, peb tau txais hauv qab no qhia:

Ua ntej ua qhov kev txiav txim yuav tsum ntxiv soj ntsuam kuaj cov xeem lej tom qab ntawm tus xov tooj, uas yog xam rau lub Luhn algorithm.

Xyuas xov tooj

Ua hauj lwm. Xyuas lub correctness ntawm cov nkag mus hauv xov tooj.

Kev txiav txim siab. Tus nab npawb ntawm tug lej tom qab nyob rau hauv qhov chaw ruaj thiab mobile xov tooj sib txawv muaj nuj nqis nyob rau hauv lub teb chaws, li ntawd, universally xyuas siv cov kev kab zauv, xov tooj kom tsis yooj yim sua. Tab sis thoob ntiaj teb xov tooj muaj ib tug nruj hom ntawv thiab zoo meej rau koj lub checking tus qauv. Txawm ntau yog li ntawd ntau thiab ntau lub teb chaws xov tooj tswv yog ua kom tau raws li tib lub txheem. Room qauv yog raws li nram no:

+ CCC.NNNNNNNNNNxEEEE, qhov twg:

- C - yog lub teb chaws code muaj 1-3 tug lej tom qab.

- N - xov tooj mus txog rau 14 tug lej tom qab.

- E - xaiv extension.

Plus yog ib yam tseem ceeb, thiab tus kos npe rau X yog tam sim no tsuas yog thaum yuav tsum tau extension.

Raws li ib tug tshwm sim peb muaj cov nram qab no qhia:

^ \ + [0-9] {1,3 } \. [0-9] {4,14} (?: X. +)? $

Cov zauv nyob rau hauv ntau

Ua hauj lwm. Nws yog tsim nyog los xyuas kom meej coincidence integer ntawm ib tug tej yam ntau yam. Nyob rau hauv tas li ntawd, nws yog tsim nyog los nrhiav tau ib tug kev qhia tsuas yog tus xov tooj ntawm lub ntau yam.

Kev txiav txim siab. Ntawm no yog ib tug ob peb kab zauv rau ib co ntawm cov feem ntau tus neeg mob:

Txiav txim seb teev los ntawm 1 mus rau 24 ^ (1 [0-2] | [1-9]) $
Hnub nyob rau hauv lub hlis 1-31 ^ (3 [01] | [12] [0-9] | [1-9]) $
Vib nas this los yog feeb 0-59 ^ [1-5]? [0-9] $
Ib tug xov tooj ntawm 1 mus rau 100 * (100 |? [1-9] [0-9]) $
Hnub ntawm lub xyoo 1-366 ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $

Nrhiav IP-chaw nyob

Ua hauj lwm. Nws yog tsim nyog los mus txiav txim seb ib tug muab txoj hlua yog ib tug siv tau tus IP-qhov chaw nyob nyob rau hauv IPv4 hom nyob rau hauv ntau ntawm 000.000.000.000-255.255.255.255.

Kev txiav txim siab. Raws li nrog rau tej teeb meem nyob rau hauv cov lus ntawm PHP, kev qhia muaj ntau yam varintov. Piv txwv li, qhov no:

Online checking ntawm kab zauv

Kos regex kom rau beginners yuav tsis yooj yim vim hais tias ntawm lub yooj yim ntawm cov syntax, uas txawv los ntawm "kev" programming lus. Yuav kom daws tau qhov teeb meem no, muaj ntau ntau yam hauv internet testers kab zauv uas ua rau nws yooj yim mus xyuas lub correctness ntawm cov template koj tsim nyob rau hauv lub tiag tiag cov ntawv nyeem. Lub programmer nkag mus rau cov kev qhia thiab pov thawj cov ntaub ntawv thiab instantly saib qhov tshwm sim ntawm qhov kev. Feem ntau muaj yog tuaj ib tug siv seem, uas paub meej cov kev kab zauv, piv txwv thiab kev siv kev txawv no rau lub feem ntau ncua lus.

Tab sis rau tag nrho txoj kev cia siab online cov kev pab cuam tau tsis pom zoo rau tag nrho cov developers uas siv PHP. Ib tug kev qhia yog sau thiab qhia tau tseeb nyob rau hauv tus neeg, seb puas tsimnyog peev xwm thiab tau lees tias cov uas tsis muaj uas tsis.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hmn.unansea.com. Theme powered by WordPress.