ЭЭМ, Программалоо
PHP (такай) - бул эмне? Мисалдар жана текшерүү үзгүлтүксүз сөздөр
учурдагы ар бир программалоо тилинде текст менен иштөө келгенде, иштеп дайыма, каалаган үлгүсүнө ылайык киргизүү колдонуу максаттары менен жооп издөө жана сынак сыныктарын жана мүнөзү маалымат иштетүү иш башка түрлөрүн алмаштыруу. Өз текшерүү алгоритмдерди иштеп чыгуу, аны иштеп чыгуу жана өркүндөтүү убакыт жоготуп, коду шайкеш жана татаал келет.
Интернет жана WEB-дизайн тилдерин тез арада иштеп чыгуу бул кодду талап кылынган минималдуу суммасы менен текст иштетүү ар тараптуу жана компакт каражаттарын түзүүгө зарыл. Бул эрежеден тышкары эмес жана үйрөнчүктөр жана PHP тилинин кесипкөй иштеп арасында популярдуу болуп саналат. шаблон катары туруктуу сөз айкашы тил чечүү ишин жөнөкөйлөтүү жана он башы жана линияларын жүздөгөн кодун азайтуу. Көптөгөн маселелер баары жок чечүү мүмкүн эмес.
PHP боюнча үзгүлтүксүз Expressions
PHP тили ар дайым менен иштөө боюнча үч механизм бар: - "Ерег", "mb_ereg" жана "бооз". Алгач PHP пакетте киргизилген Perl тили үчүн иштелип чыккан, анын иш-милдеттери, PCRE туруктуу сөз айкашы колдоо китепкана жетишүүнү камсыз таралган Interface "бооз" болуп саналат. бир текст сап дал келүүсү боюнча милдеттерин бооз-издеп, дайыма билдирип тилинде белгилүү бир үлгү боюнча.
синтаксистик негиздери
кыска макалада бир бөлүгү катары, бул үчүн, бүт туруктуу сөз айкашы синтаксисин майда-чүйдөсүнө чейин айтып берүү мүмкүн эмес, атайын адабияттар бар. Биз иштеп мүмкүнчүлүктөрүн көрсөтүп, коду мисалдарды түшүнүүгө гана негизги элементтер болуп саналат.
PHP туруктуу сөз айкашы расмий абдан оор аныкталган, ошондуктан сүрөттөмөсүн жөнөкөйлөтүү. Кезектеги сөздөр текст сап болуп эсептелет. Бул арналган сепаратор калып, аны чечүү үчүн жол көрсөткөн СЕМЫН турат. структурасынын ар кандай түрлөрү жана кайталанып Мүмкүн киргизүү.
Мисалы, сөз менен / \ д {3} - \ д {2} - \ д {2} / м бөлүп шаблону менен "/" болуп саналат, ал эми белгиси "м" өзгөрткүч болуп саналат.
дайыма билдирип, бардык бийлик мета-белгилерди колдонуу менен коддолгон. "\" - негизги тил metacharacter слэш болуп саналат. Бул карама-каршы боюнча белгилер төмөнкүдөй түрүн өзгөртөт (б.а. E. жөнөкөй мүнөзү сөздү жана тескерисинче айландырылат.). "|", Альтернатива шаблон аныктайт дагы бир маанилүү metacharacter түз бир сызык болуп саналат. мета-каармандардын дагы мисалдар:
| ^ | объектисин же жип баштоо |
| ( | Башталган subpattern |
| ) | End subpattern |
| { | Start предикаты |
| } | End предикаты |
| \ г | 0дөн 9га ондук орундуу |
| \ D | бир катар эмес, кандайдыр бир белги |
| \ с | бош белгиси, мейкиндик, табулатура, |
| \ ж | белгиси сөздүк |
PHP, өзүнчө жарактуу мүнөздөгү катары каралат туруктуу сөз айкаштары, орун иштеп чыгуу, башкача XYZ жана КИК сөздөр.
subpatterns
кашаалар менен PHP үзгүлтүксүз subpatterns-жылы, алар кээде: "subexpressions" деп аталат. төмөндөгүдөй иш-милдеттерди жүзөгө ашырат:
Бөлүштүрүү ыкмалар. Мисалы, жылуулук үлгүсү (бир нерсе | Bird |) деген сөздөр "жылуулук", "Firebird" жана "ысык" менен келет. Ал эми кашаанын гана бош сап болуп калат, "куш" жана "ысык" жок.
"Ажайып" subpattern. Бул үлгү саптар келген болсо, анда бардык дан кайтарып берет дегенди билдирет. Тагыраак айтканда, биз бир мисал келтирейин. кийинки кезектеги сөздөрдү эске алып: лауреаты алат ((алтын | алтын менен капталган) (медаль | чөйчөк)) - жана матчтан сап, "лауреаты бир алтын медалга ээ болот." баштапкы сөздөр тышкары, издөө жыйынтыгы чыгарылат, алар: "Алтын медалын", "медалга ээ", "алтын".
Байланыш операторлоруна кайталоолор (kvadrifikatory)
туруктуу сөз айкашы чагылдырган сандар жана белгилер кайталанбашы талдоо зарыл. Бул болсо, жок кайталануу бир топ, бир маселе эмес. Бирок, биз алардын так санын билбейм, качан, эмне кылуу керек? Бул учурда өзгөчө metacharacters пайдалануу зарыл.
номерин көрсөтүү үчүн metacharacters - kvadrifikatory колдонулган кайталануу тууралуу көбүрөөк билүү үчүн. Kvadrifikatory эки түрдүү болот:
- кашаанын ичинде жалпы;
- кыскарган.
Жалпысынан предикаты кашаа эки сан түрүндө жол кайталоолор элементтин минималдуу жана максималдуу саны козгоп, андай X катары {2,5}. Кайталоо саны белгилүү эмес болсо, анда экинчи аргумент көрсөтүлгөн эмес: х {2}.
Кыскартылган quantifiers керексиз жүктөлтүү синтаксисин качуу үчүн кайталануу көбүнчө үчүн белгилер бар. Адатта үч жарыгы бар:
1. * - {0} барабар нөлдүк же андан көп кайталап,.
2. + - бир же бир нече кайталап, башкача айтканда, {1} ...
3.? - нөл же бир гана кайталап - {0,1}.
мисалы, такай
туруктуу сөз айкаштары, мисал үйрөнүп жаткандар үчүн - мыкты окуу. Биз күч минимум менен мүмкүнчүлүктөрүн көрсөтө турган бир нече берет. Бардык коду PHP 4.x жана жогоруда түрү менен толугу менен шайкеш келет. толугу менен синтаксисин жана бардык тил өзгөчөлүктөрүн биз китепти сунуш колдонууну J .. Friedl, "ар дайым", толугу менен каралып синтаксистик, жана PHP эмес, дайыма билдирип инсандар жок эмес, бирок ошол эле учурда Python үчүн, Perl, MySQL түшүнүү үчүн, Java, Ruby жана C #.
Текшерүү электрондук почта дареги
Тапшырма. жолоочу дареги электрондук сурап турган интернет барак бар. Жөнөкөй сөздөр билдирүүлөрдү жөнөтүү алдында даректери тууралыгын текшерет керек. Текшерүү көрсөтүлгөн почта иш жүзүндө бар жана билдирүүлөрдү кабыл алган деп кепилдик бербейт. Бирок, бул мүмкүн, албетте, туура эмес даректерин бөлүп.
Чечим. кайсы бир программалоо тили сыяктуу эле, PHP менен такай электрондук дареги текшерүү ар кандай жолдор менен ишке ашырылышы мүмкүн, ал эми бул макалада мисалдар акыркы гана тандоо эмес. Ошондуктан, ар бир учурда, биз програмдоо жана белгилүү бир ишке ашыруу иштеп толугу менен көз каранды эске алышыбыз керек талаптардын тизмесин берет.
Ошентип, Жарактуу электрондук почта сынайт сөз айкашы, төмөнкү шарттарды текшерүү керек:
- башталган жылы болушу @ белгиси, жана эч кандай кемчиликтер бар.
- @ Белгиси дареги домен бөлүгү, домендик аталыштарды үчүн гана жарактуу белгилер камтылган. Ошол эле колдонуучунун аты да тиешелүү.
- Мындай апостроф же тик сызык катары атын текшерүүдө атайын белгилердин бар экендигин аныктоо үчүн зарыл. Мындай белгилер кооптуу жана SQL-инжектордук, бул кол салуу, мисалы, ар кандай болушу мүмкүн. даректерин кач.
- колдонуучунун аты сап биринчи же акыркы мүнөзү болушу мүмкүн эмес эле, бир ойду, уруксат берет.
- домен аталышы, бери дегенде, эки эмес, дагы алты белгиден турушу керек.
Мисалы, бул шарттардын баарын эске алуу менен төмөнкү сүрөттө көрүнүп турат.
бир URL тууралыгын текшерүү
Тапшырма. көрсөтүлгөн текст сап жарактуу экенин текшерип дареги URL. Дагы бир жолу, туруктуу сөз айкаштары URL-текшерүү ар кандай жолдор менен ишке ашырылышы мүмкүн деп белгилешет.
Чечим. Биздин акыркы версия төмөнкүчө чагылдырууга болот:
/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /
Азыр чучу кулак аркылуу кененирээк анын компоненттерин талдоо.
| 1 доомат | URL эчтеме болбошу керек чейин |
| 2 Доо | милдеттүү Ƶ Сыпаттоо бар текшерүү "HTTP" |
| 3-пункт | эч кандай белгилер жок болушу керек |
| Доо 4 | Эгер ошол "с", камсыз кылынган байланыштуу үчүн URL пункт "HTTPS" |
| Доо 5 | Керектүү бөлүгү "//" |
| Доо 6 | эч кандай белгилер |
| б., 7-9- | Текшерилүүдө биринчи деңгээл домен жана чекити бар |
| p.10-13 | Экинчи даражадагы жана ойду жазуу доменди текшерилүүдө |
| p.14-17 | File түзүмү URL - сан, тамга, баса, тире, чекиттерден комплекси жана аягында бир слэш |
Кредит карта номерлерин текшерүү
Тапшырма. Сиз көбүнчө тёлём системалары кирип, насыялык картанын номерин текшерүүнү ишке ашыруу керек. гана карталары үчүн Variant Visa жана MasterCard.
Чечим. сөздөр түзүү качан киргизүү бөлмөдө кемчиликтер болушу мүмкүн экендигин эске алуу керек. Картада сан жардам окуу жана жазуу үчүн топторго бөлүнүшөт. Ошондуктан, бир адам ушундай жол менен бир катар кирет (башкача айтканда. E. боштуктарды колдонуу) аракет болот табигый нерсе.
мүмкүн жайлар же hyphens эске алып, жалпы сөздөрдү жазуу, жөн эле сандарга башка бардык белгилерди жокко караганда кыйла татаал. Ошондуктан, биз сан башка бардык белгилер жок бир базалык сөз / D, колдонуп сунуштайбыз.
Эми сиз текшерүү санына түздөн-түз болот. Бардык компаниялар, кредиттик карта эмитент уникалдуу номери түзүлүшү колдонушат. Мисалы, бул колдонулат, жана кардар коомдун атын кирүүгө муктаж эмес - ал саны боюнча аныкталат. Visa карталары дайыма сандар менен башталат 4 жана 13 же 16 орундуу узундугу бар. MasterCard 51-55 узак саны аралыгында башталат 16. Натыйжада, биз төмөнкү сүйлөмдү алуу:
тартипти иштеп чыгуу үчүн мындан ары Luhn алгоритм боюнча эсептелет саны, акыркы сандарды сынап көрүүгө болот.
Текшерилүүдө тел номери
Тапшырма. кирип тел номерин тууралыгын текшерүү.
Чечим. катталган жана мобилдик телефон номерлери сан саны жалпы үзгүлтүксүз сөздөрдү колдонуп, тел номери туура эмес текшерип, бир топ өлкөнүн жараша өзгөрүлүп турат. Ал эми эл аралык саны үлгү текшерүү үчүн так түзүлүшү жана кемчиликсиз бар. Ал тургай, дагы да көбүрөөк улуттук телефон операторлору эле стандарттарына жооп берүүгө аракет кылып жатат деп. Room түзүмүн төмөнкүчө чагылдырууга болот:
+ CCC.NNNNNNNNNNxEEEE, мында:
- C - 1-3 сандан турган өлкөнүн коду саналат.
- N - 14 орундуу чейин саны.
- E - кошумча узартуу.
Plus ажырагыс бөлүгү болуп саналат, ал эми кирүү X узартуу зарыл болгондо гана бар.
Натыйжада, биз төмөнкү сөздөр бар:
^ \ + [0-9] {1,3 } \ [0-9] {4:14}. (:?. Х +)? $
Колдо болгон сандар
Тапшырма. Ал бир катар кокустук бүтүн камсыз кылуу үчүн зарыл. Мындан тышкары, ал диапазондо гана сандар үзгүлтүксүз чагылдырылышы зарыл.
Чечим. Бул жерде таралган, кээ бир учурларда бир нече аяттар бар:
| 1ден 24 чейин саат аныктоо | ^ (1 [0-2] | [1-9]) $ |
| айда 1-31 күн | ^ (3 [01] | [12] [0-9] | [1-9]) $ |
| Секунда же минута 0-59 | ^ [1-5] [0-9] $ |
| 1 100 чейин бир катар | * (100 |? [1-9] [0-9]) $ |
| жылдын 1-366 күнү | ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $ |
Издөө IP-даректери
Тапшырма. Бул бир сап 000.000.000.000-255.255.255.255 аралыгында IPv4 түрдө жарактуу IP-дарек же жокпу аныктоо керек.
Чечим. PHP тилинде ар кандай көйгөй менен эле, туруктуу сөз айкашы көп varintov бар. Мисалы, бул:
сөздөрдү Online текшерүү
башталгыч, анткени "кезектеги" программалоо тилдердин айырмаланат синтаксис татаал, кыйын болушу мүмкүн, анткени туура такай текшерүү. Бул маселени чечүү үчүн, сен чыныгы тексттин жараткан калып тууралыгын текшерүү үчүн жеңил кылып көп онлайн сыноочулар сөздөр бар. программист сөз айкашы жана текшерүү маалыматтарды кирип, ошол замат кайра иштетүү натыйжаны көрүп турабыз. Адатта, туруктуу сөз айкаштары, мисалдарды жана ишке ашыруу абдан узак тилдер үчүн келишпестиктерди маалымат шилтеме көрүү, сунуш бар.
Бирок толугу менен ишеним онлайн кызматтарына натыйжалары PHP колдонгон бардык иштеп чыгуу үчүн сунушталган эмес. Кезектеги сөз жүзүндө жана адам текшерилди, дасыгын жогорулатат жана каталары жоктугуна кепилдик.
Similar articles
Trending Now