ЭЭМ, Программалоо
Javascript, туруктуу сөз айкашы мисалдар, жөнөкөй далили текшерүү
гипертекст тилинин чыгаардан мурда, тескерисинче, биз жөн гана карап, ал эми керектүү санда өзгөргөн маалыматка ылайык, бир жерде, белгилүү бир шарттарда эмне үчүн адаттагыдай издөө жана милдети ар кандай татаал уюштурулган ордун басууга тийиш эмес, деп ачык-даана болгонго чейин программист. программалоо тилинде көркөм издөө чыгармаларын түзүү жана маалыматтар базасы үлгүлөрдү алуу шарттарын түрлөрүн жакшы сакталган жол-жоболорун, мээлеп жана көлөмдүү үлгү мамиледеги маалымат жолдорунда башка каражаттар менен жабдылган. айлануу туруктуу сөз пайда алып келген жок, тескерисинче, аны таап, маалымат алмаштыруу үчүн пайдалуу жана ыңгайлуу жолу болуп саналат. Мисалы, электрондук почта кыйла коноктордун каттоону жөнөкөйлөтүү JavaScript туруктуу сөз айкаштары, жок даректер боюнча билдирүүлөрдү жөнөтүү сайтына жүктөлгөн жок.
бир JavaScript үзгүлтүксүз сөздөр indexOf produmannnyh алда канча жакшы эсимде турат () шарттуу туруучу жана операторлорунун алкагында чакырат деп айта албайм, бирок ал жазуу кыска, бирок ойчулдардын түшүнүктүү аз берди деп айта албайбыз, бир беткей болушу мүмкүн.
Object RegExp = + шаблон кыймылдаткыч
Жөнөкөй сөздөр - калып + кыймылдаткычы болуп саналат. биринчи жолу иш жүзүндө туруктуу сөз айкашы болуп саналат - JavaScript объект - RegExp, экинчиси - бул шаблон аткаруучу, сызык үчүн колдонулат. Ар бир программалоо тили боюнча үзгүлтүксүз сөздөрдү ишке кыймылдаткычтар айырмаланат. Ошондо бүт айырмачылыктар маанилүү эмес, бирок, аны эске алуу керек, ошондой эле кылдат чейин анын ишин үзгүлтүксүз сөздөрдү текшерүү үчүн шектенбесек болот.
туруктуу сөз айкаштарын жазып атайын туюнтмасын абдан пайдалануу жана кыйла натыйжалуу кылуу жеңил эмес, бирок ал иштеп кам көрүп, тыкан, сабырдуулук жана чыдамкайлык керек. туруктуу сөз айкашы оюу көнүү керек белгилер менен. Бул жорукпу эмес, ал "JavaScript үзгүлтүксүз сөздөрдү ишке ашыруу үчүн механизм логикасы болуп саналат."
туруктуу сөз айкашы үлгүсү
эки параметрлери уруксат:
VAR expOne = / ABC * / мен;
VAR expTwo = RegExp ( "ABC", "мен");
Адатта, биринчи ыкма колдонулган. Экинчи учурда, Кабарда, анткени белгини пайдалануу "\", ал жалпы эрежелери боюнча качып керек.
"Мен" - желек "ишин сезбей" көрсөтөт. Ошондой эле Желектер 'G "колдоно алышат -" Global Издөө "жана" м "- көп сап издөө.
белгиси "/" шаблон пайдалануу үчүн жалпы көрсөтүп турат.
туруктуу сөз башымын жана аягымын
"^" Белгиси (лор) туруктуу сөз айкашы баштоо үчүн болгон, ал эми "$" кайсы мүнөзү аныктайт (тар) аныктайт аягында болушу керек. Алар башка бир мааниге ээ болгон сөз ичинде алар менен тажрыйба керек.
Мисалы,
VAR eRegExp = жаңы RegExp (cRegExp, "мен");
VAR cRegRes = '';
VAR sTest = 'AbcZ';
эгер (eRegExp.test (sTest)) {
cRegRes + = - Ооба ';
} Else {
cRegRes + = '- жок ";
}
VAR dTestLine = document.getElementById ( 'scTestLine ");
dTestLine.innerHTML = 'билдирүү / "+ cRegExp +" катары үчүн / "" + sTest + "" "+ cRegRes.
элемент "scTestLine" алып келет (cRegExp өзгөрмөлүү тиешелүү мааниге ээ):
сөз айкашы / ^ AbcZ $ сапты / "abcz" - Ооба
Сиз "мен" желегин алып келсе, натыйжасы болуп саналат:
сөз айкашы / ^ AbcZ $ сапты / "abcz" - Жок,
туруктуу сөз көрүү
Кезектеги сөз айкашы издөө предмети болуп саналат белгилердин ырааттуулугу болот. Билдирүү / QWERTY / кирүү издеп бул тизмеги:
сөз айкашы / QWERTY / сап боюнча "QWERTY" - Ооба
сөз айкашы / QWERTY / сап боюнча "123qwerty456" - Ооба
'^' Өзгөрүүлөр көрсөткөндүк болуп саналат:
сөз айкашы / ^ QWERTY / сап боюнча "123qwerty456" - Жок,
сөз айкашы / ^ QWERTY / сап боюнча "qwerty456" - Ооба
Ошо сыяктуу эле, сап белгиси аягында үчүн. Жөнөкөй сөздөр ырааттуулук жол: мисалы, [AZ], [AZ], [0-9] - бул учурда же сандык алиппесин бардык каттар. Орус тамгалары да колдонулушу мүмкүн, бирок кылдуу коддоо (суралган суралган) жана барактардын кулак салышыбыз керек. Көп учурда орус каттарды, ошондой эле атайын белгилер, ал коддору үчүн артыкчылык болуп саналат.
төмөнкүлөр алардын саны берилген менен туруктуу сөз айкашы, бир жери бир белгилер болушу үчүн параметрлерди түзүүдө: '*' = 0 кайталоо же андан көп жолу; '+' = 1 же андан көп кайталоо жолу; {1} "+" деп, ошол эле болуп саналат; {N} = кайталоо так н жолу; {N,} = н кайталоо жолу же андан көп; {N, м} = м эсеге-жылдын кайталоо.
кичине колдонуп, параметрлердин белгиленген мүнөзүн көрсөтүүгө болот. Бул окшойт. [ABCD] = [жарнама] = ар бир төрт белгиси: "а", "б", "с" же "г". Сиз башкача көрсөтүүгө болот. Ар бир комплексин көрсөтүлгөндөн башка мүнөзү: [^ ABCD] 'A' башка бир мүнөзгө, "б", "б" жана "д" =. '?' Бул учурда белгиси болушу мүмкүн эмес экенин көрсөтүп турат. '.' NEWLINE көрсөтүү менен ар кандай башка белгини белгилейт. Бул "\ н ',' \ р", "\ u2028" же "\ u2029". сөз айкашы "\ Кудайдын * | \ S * | анын ичинде Newlines ар кандай мүнөздөгү, издөө билдирет = '* [\ S \ S]".
туруктуу сөз жөнөкөйлөтүлгөн түрү
сөз "[\ S | \ S] *" - издөө мейкиндик, же анын жоктугу, ошонун баарын сапта болот. Бул учурда, белгиси "\ .Ал" дагы бир аз, ал эми "\ S - анын жоктугу.
Ошо сыяктуу эле, ондук сан издөө үчүн "\ д" колдоно аласыз, жана '\ D' эмес сан мүнөзүн табууга. Notation '\ е "," R' жана '\ н пайда-тоют, ташуу кайтарып жана сап-тоют туура келет.
табулатура тамга - '\ т ", ошондой эле тигинен жайгаштырылган -' \ V". белги "\ п," ар кандай латын арибине мүнөзгө тапкан (тамгаларды, сандарды жана баса белги) = [A-Za-z0-9_].
белги "W \ '[^ А-Za-z0-9_] барабар. Бул алфавит, саны, же "_ 'бир тамга эмес, ар кандай мүнөздөгү билдирет.
Издөө тамга '\ 0' = издөө NUL каармандар. Издөө '\ З гАxhh "же" \ Uhhhh' = Search тамга коду же HHHH HH жараша. H - алтылык орундуу.
Сунушталган узак жана туруктуу сөз коддоо
Ар бир туруктуу сөз айкашы кылдаттык менен катар ар кандай түрү боюнча сыноодон өтө маанилүү болуп саналат.
кичирээк болот туруктуу сөз айкашы ката түзүү тажрыйбасы бар, бирок, ошентсе да ар дайым "кезектеги сезону" дагы бир тилинен которулган, айрыкча, чыныгы боло албайт жазуу дайыма билдирип эрежелерин өз билимин эске алышы керек.
классикалык (так көрсөтүлүшү) ортосунда тандоо жана туруктуу сөз жөнөкөйлөштүрүлгөн чыгаруу, биринчи артык жакшы. Анын үстүнө, классикалык ар дайым ачык да аракет экенин көрсөтүп турат. туруктуу сөз айкашы же издөө сабы орус тамгалары болсо, JavaScript-кодду туруктуу сөз айкашы аткарат таап иштеп турган бир коддоо бардык багыттарын жана бет алып келиши керек.
мүнөзү иштетүү бар болсо, азык-латын арибине, мүнөзүн коддору эмес, каармандардын өздөрүнүн көрсөтмөнү кароонун мааниси бар.
JavaScript дайыма сөз менен издөө алгоритмдери ишке келгенде кылдат текшерип туруу керек. Бул коддомо башкаруу үчүн өзгөчө маанилүү болуп саналат.
дайыма сөз менен жана кашаалар
кашааларга болушу керек белгиси боюнча ыкмаларды аныктайт, же бир жерде болушу мүмкүн эмес, жана тегерек - катар генеалогиялык. Бирок бул жөн гана жалпы эреже болуп саналат. андан эч кандай өзгөчөлүк бар, бирок табыштамалар чөйрөсү ар башка.
VAR cRegExp = "[AZ] * (PNG | Мэрлердин | GIF).";
VAR eRegExp = жаңы RegExp (cRegExp, "мен");
VAR cRegRes = '';
VAR sTest = 'picture.jpg';
эгер (eRegExp.test (sTest)) {
cRegRes + = - Ооба ';
} Else {
cRegRes + = '- жок ";
}
жыйынтыктар:
/[az]*.(png|jpg|gif)/ сызык "picture.jpg" үчүн сөз айкашы - Ооба
"Picture.jpg" сызыктын /^[ad][az]*.(png|jpg|gif)/ сөз айкашы - No
/^[ad][az]*.(png|jpg|gif)/ сызык "apicture.jpg" үчүн сөз айкашы - Ооба
"Apicture.jg" сызыктын /^[ad][az]*.(png|jpg|gif)/ сөз айкашы - No
Мунун баары, анда жылдызча нөл жолу болушу мүмкүн экенин белгилей кетүү керек. Бул "кезектеги сезону" дегенде, күтүлбөгөн ар кандай жолдор менен иштөөгө мүмкүн дегенди билдирет.
RegExp текшерүү - тестирлөө электрондук почта
кезектеги JavaScript сөз эки ыкмаларын алынган учурда, тест жана Exec жана саптары объектилерин колдонулушу мүмкүн (сап), алардын ыкмалары (кызмат милдеттери): издөө, бөлүштүрүүдө, алмаштыруу жана матч.
тестирлөө ыкмасы буга чейин көрсөтүп келе жатат, ал дайыма сөз тууралыгын текшерүүгө мүмкүндүк берет. Метод Жыйынтык: чыныгы / жалган.
Төмөнкү JavaScript үзгүлтүксүз айткандарын карап көрөлү. "Оор, бирок, албетте," жалпы санынын электрондук текшерүү:
VAR eRegExp = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s @ "] + *)) | (" +. ")) @ ((\ [[0-9] {1,3} \ [0-9] {1,3} \ [0-9] {.. . 1,3} \ [0-9] {1,3}]) | (. ([а-ZA-Z \ -0-9] + \) + [а-ZA-Z] {2}) ) $ /;
сап VAR sTest ='SlavaChip@sci.by "Бул сап туура электрондук дареги бар, чыныгы берет. аудит eRegExp.test (sTest) тарабынан өткөрүлдү.
Практикалык колдонуу: E-Mail дарылоо
Exec ыкмасы чыгаруу маалымат берилген, чакырып:
VAR жамаш = eRegExp.exec (sTest);
cRegRes = '
"+ aResult.length +'
';
үчүн (курстар = 0;
';
}
Ал төмөнкү натыйжаны берет:
9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
белгисиз
sci.by
белгисиз
sci.by
такталат.
Башка ыкмалары сыяктуу эле иштешет. Бул тууралуу ойлонуп, аларды текшерүү үчүн сунуш кылынат. Иштеп чыгуу жана туруктуу сөздөрдү колдонууга, аны иш жүзүндө иш жакшы, коду көчүрмөлөө бул жерде ар дайым эле койгон жакшы эмеспи.
Популярдуу "кезектеги сезону"
JavaScript туруктуу сөз айкашы бир канча көбүрөөк жеңил жолдору бар эмес, электрондук почта аркылуу берилет. Мисалы, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Ошентсе да, бул өзү электрондук почта дареги жазылган бардык жактан эмес, эске алат.
Албетте, алардын JavaScript дайыма билдирип, өз алдынча иштеп чыгуу үчүн сунушталган кандай талдоо, кесиптештердин тажрыйбасын көрүү керек. Бирок, кээ бир кыйынчылыктар бар. Биз JavaScript үзгүлтүксүз сөздөр (көчүрүү качан мисалдар) маанилүү белгилерди кайталап мүмкүн экенин унутпаш керек: "\ ',' / 'же айткан. Бул узак издөө болот ката, алып келет.
Бул адаттагыдай эле эске алуу маанилүү болуп саналат ", адамзаттык ченди." жолоочу (адам) болушу мүмкүн тел үчүн расмий JavaScript үзгүлтүксүз билдиргенден кийин, ал ар кандай жолдор менен берилет: 123-45-67, (29) 1234567, 80291234567 же 375291234567. Ал баары бирдей саны бар. бир нече үлгүлөрү ыйгаруучу ар дайым туура эмес болуп саналат, жана сандарды керексиз кыйналса же чектөөлөрдү түзө алат жазуу эрежелерин катуу үн жаздыруу. Option / ^ \ г [\ г \ (\) \ -] {4:14} \ г $ / мен сенин номерин текшерүү көпчүлүк учурларда жарактуу болуп саналат.
Эгер сиз JavaScript туруктуу сөз айкаштары, бир гана орундуу текшерүү үчүн керек болсо да, мындай жөнөкөй иши тактоону талап кылат. Ал бүтүн же бөлчөк, илимий жазуу, же нормалдуу, оң же терс сандарды каралышы керек. Ошондой эле акча белгиси бар, чекиттен кийинки сан санын жана ооруга саны бүт бөлүгүнүн бөлүнүп эске алат.
Көптүктөр / ^ \ г + $ / мен сандарды гана текшерүү жана /^\d+\.\d+$/i сөз саны көп бөлчөк бөлүгүн көрсөтүү үчүн пунктунда пайдаланууга мүмкүндүк берет.
JavaScript-жылы үзгүлтүксүз сөздөрдү текшерүү маанилүү оор киргизүү маалыматтарды түзүлүшү, көрсөтүү үчүн колдонулушу мүмкүн, айрыкча, өздүк, паспорттук маалыматтарын, жана юридикалык даректери м түзүүдө. D.
датаны текшерүү - жөнөкөйдөн татаалга
башка JavaScript үзгүлтүксүз айткандарын карап көрөлү. телефон номери үчүн ушул күнгө чейин, мисалы, катуулугун жана ийкемдүүлүгү ортосундагы тандоону билдирет. Иш-чаранын Дата - көп жүргүзүшү керек маанилүү маалыматтардын бири. Бирок, белгилүү бир түрдө салымын турукташтырып: "дд-мм-гггг" же "d.m.gg" көп учурда кардар нааразылыгына алып келет. күнү-а-ай киргизүү жаатындагы өтүү, классикалык HTML-түрүндө толгон, сиз бир гана орундуу киргенде ордун баса албайт, ал эми экинчи киргизүү кыйын болушу мүмкүн. Мисалы, күн жаатында 3 жана кийинки саны 2 Биринчи алмаштыра албайт киргизилген, жана, албетте, жата- алып келет, аны 32, таандык болуп калат.
үзгүлтүксүз таасирдүү натыйжалуулук жана жалпыга негизинен жолоочу менен диалогго жалпы курулуш боюнча көз каранды. Бир учурда, датасы көрсөтүлөт, ал түрүндө бир киргизүү жерин пайдалануу максатка ылайыктуу болуп саналат, башка учурда ал күнү, айы, жылы бою ар түрдүү тармактарда менен камсыз кылуу зарыл. Бирок андан кийин эч кандай кошумча узак жыл текшерүү үчүн "кодексин жумшоолор", айлардын саны, алардын күндөрдүн саны.
Издөө жана алмаштыруу, туруктуу сөз айкашы эс
JavaScript сап объектисинин ыкмасын колдонуу менен (туруктуу сөз айкаштары) алмаштыруу, жана маанисин таап, ошол замат аны өзгөртүүгө мүмкүнчүлүк берет. Бул окуучулардын жазалап түрү талааларынын мазмунун өзгөртүү жана бири-бирине тапшыруу түрдө берилиштерди айландыруу үчүн абдан пайдалуу.
VAR cRegExp = / ([а-я] +) \ с ([а-я] +) \ с ([а-я] +) / мен; // үч "өзгөрмө" издеп жатканда бар
VAR sTest = 'Бул макала жакшы! ";
VAR cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");
VAR dTestLine = document.getElementById ( 'scTestLine ");
dTestLine.innerHTML = 'деген сөз айкашы "+ cRegExp +" сапты "" + sTest + "" кайрылып: "+ cRegRes;
жыйынтыгы:
сөз айкашы / ([AZ] +) \ с ([AZ] +) \ с ([AZ] +) / мен сызыктын "Бул макала жакшы экен!" чыгып: макала бул жакшы, бул!
кашаанын ар бир жубу аткарууда "өзгөрүлмө '$ н алып сактап, N - кашаа жуп саны ($ 1, $ 2, ...). шарттуу айырмаланып, бул жерде өзгөрмөлүү саны 1 эмес, 0 болуп саналат.
Жалпы сунуштар
Жөнөкөй сөз коду, ал эми убакыт көп айырмасы иштеп анык. Сиз жөнөкөй үлгүлөрү, андан кийин татаал сөздөрдү пайда кылып баштаса болот. Сиз дайыма сөздөрдү же атайын жергиликтүү куралдарды текшерүү үчүн ар кандай онлайн кызматын колдоно аласыз.
жакшы ыкмалардан жаңы окуялар сынаш үчүн дайыма билдирип, өз куралдарын өз китепкана түзүүгө болот. Бул тажрыйбаны бекемдөөгө жана тез ишенимдүү жана жайлуу дизайнын курууга үйрөнүү үчүн мыкты жолу болуп саналат.
тамгалардын жана саптардын кайталоо аркылуу, башкача айтканда, атайын каармандардын '*', '+' жана кашаалар, кайталануу саны көрсөтүү менен жөнөкөй жана максатка негиздерин жетекчиликке алуу керек. Ал өз ишинин башталганга чейин бир сөз экенин билген адам үчүн жана анын натыйжасы серепчи тарабынан колдонулат кыймылдаткычы бийлиги толугу менен алуу үчүн өтө маанилүү болуп саналат. Эмес, бардык тилдер JavaScript барабар. Ар бир серепчи, алардын алып келиши мүмкүн жеке дайыма билдирип, талкуулоодо.
Шайкештигин көрсөтүү үчүн, ал да бар эле беттер жана стилдерди эмес. бет JavaScript, бир ийгиликтүү браузерлердин түрдүү иштеген гана жакшы иштеп каралышы мүмкүн колдонот.
JavaScript, String жана RegExp
JavaScript-жылы келген коноктордун браузер болуп саналат, кардар денгээлде калып, оң жумуш менен, ал иштеп чыгуучунун жогорку билүүнү талап кылат. Жетишерлик узак үчүнчү жактын бутактары, коду редакторлору, көз карандысыз программалар JavaScript-коду браузер өз каражаты, же жардамы менен Индиядан мүмкүнчүлүгүнө ээ.
Бирок, бардык учурларда, мүчүлүштүктөрдү чече менен иштеп, тез ката аныктоо, сарамжалсыз аныктоо үчүн жакшы жардам бере алат. компьютер алыскы өткөн, эсептөөлөр боюнча багытталган келет кээде. Эми, маалыматтык жана башка объекттер бир кыйла маанилүү ролду ойной келдим үчүн аларга өзгөчө маани беребиз. болот саптардын саны, алардын чыныгы жүзүн, алар өз убагында жана туура жерде көрсөтө.
Жөнөкөй сөздөр линияларын мүмкүнчүлүгүн күчөтүү, бирок өзүн өзү сыйлоону талап кылат. өтө кызыктуу эмес, ойду, тууроочу мүмкүн болсо да, анын ишине мүчүлүштүктөрүн RegExp.
RegExp объектинин түзүлүшүн жана логикасын түшүнүү дегенди билдирет объект корип, синтаксиси жана JavaScript семантикасы - чыныгы жана коопсуз кодун, ар бир туруктуу иштешине жана жалпы эле сайтты.
Similar articles
Trending Now