КомпьютерлерБағдарламалау

Javascript, тұрақты өрнек мысалдар, Үлгіөрнекті тексеру

гипермәтіндік тілі пайда алдында, бірақ, керісінше, ол біз жай ғана қарап емес тиіс, бірақ белгілі бір жағдайларда, белгілі бір жерде, оң мөлшерде згертілген деректер бойынша, мұны, әдеттегі іздеу және функциясын ауыстыру деп анық болғанша кез келген талғампаз ұйымдастырды бағдарламашы. бағдарламалау тілдерінде көркем іздеу жауһарлары жасау, және дерекқор сақталатын процедуралар, триггерлер және көлемді үлгісі реляциялық мәліметтер тректердің басқа да құралдарымен жабдықталған, сынамаларды іріктеу шарттарын нысандарда тамаша. революция тұрақты білдіру пайда әкелуі емес, бірақ ол ақпаратты табуға және ауыстыру үшін пайдалы және ыңғайлы тәсілі болды. Мысалы айтарлықтай келушілердің тіркеуді жеңілдету JavaScript электрондық пошта, тұрақты білдіру, жоқ мекен-хабарларды жіберу веб-салмаңыз.

а JavaScript тұрақты өрнек indexOf () дәстүрлі циклдік және операторлар шеңберінде атайды әлдеқайда жақсы produmannnyh бірізділік деп айтуға, бірақ ол сценарий коды жинақы болып жасалған, бірақ непосвященных аз түсінікті болды деп айта алмаймыз, мағыналы болуы мүмкін.

RegExp = + үлгісі қозғалтқышты Нысан

Тұрақты өрнектер - үлгі + қозғалтқыш болып табылады. JavaScript нысаны - - RegExp, екінші - бұл үлгіні орындаушы, жолда оны қолдануға бірінші шын мәнінде тұрақты өрнек болып табылады. әрбір бағдарламалау тілінде үшін өрнектерді іске асыру қозғалтқыштар әр түрлі. емес, барлық айырмашылықтар маңызды болғанымен, ол есте ұстау, сондай-ақ мұқият дейін оның қызметіне тұрақты өрнекті тексеріңіз болуы тиіс.

өрнектерді жазуға арнайы нотация пайдалану өте оңай және өте тиімді болып табылады, бірақ ол әзірлеушіден қамқорлық, ұқыптылығы мен шыдамдылық қажет. нұсқаулар арқылы тұрақты өрнек үлгілері үйрену қажет. Бұл «JavaScript тұрақты өрнектерді іске асыру механизмін логика болып табылады, ФАД емес.»

тұрақты өрнек үлгісі

Рұқсат екі нұсқасы:

= / ABC Var expOne * / I;

Var expTwo = RegExp ( «ABC *», «Мен»);

Әдетте ол бірінші әдісі пайдаланылады. Екінші жағдайда, баға, таңбаны пайдалану, өйткені '\', ол жалпы ережелер бойынша қашып тиіс.

«Мен -» сезілмейтін істі «көрсете жалауын. Сіз сондай-ақ жалаулар «G» пайдалануға болады - «Global Іздеу» және «м» - көп-желісі бойынша іздеу.

Үлгіні қолдану ортақ көрсетеді символы '/'.

басталуы мен тұрақты білдіру соңы

«^» Тұрақты өрнек бастау үшін түскен таңбаны (лар) айқындайды, және «$» соңында болуы керек, ол сипаты (лар) анықтайды. Сіз олар әр түрлі мағынаға ие білдіру, ішіндегі олармен тәжірибе тиіс емес.

Мысалы,

Var eRegExp = жаңа RegExp (cRegExp, 'I');

Var cRegRes = '';

Var sTest = 'AbcZ';

егер (eRegExp.test (sTest)) {

cRegRes + = '- Иә';

} Тағы {

cRegRes + = '- Жоқ';

}

Var dTestLine = document.getElementById ( 'scTestLine');

«Жолға / dTestLine.innerHTML = 'Expression /' + cRegExp +» + sTest + ' «' + cRegRes.

элементі «scTestLine» (cRegExp айнымалы тиісті мән бар) әкеледі:

жол «abcz» үшін өрнек / ^ AbcZ $ / - Иә

Егер сіз «Мен» туын алып тастасаңыз, нәтижесі болып табылады:

жол «abcz» үшін өрнек / ^ AbcZ $ / - Жоқ

тұрақты білдіру мазмұнын

Үлгі өрнегі іздеу тақырыбы болып табылатын, таңбалар тізбегі болып табылады. Expression / Qwerty / енген іздейді бұл тізбегі:

өрнек / Qwerty / жолына арналған «QWERTY» - Иә

өрнек / Qwerty / жолына арналған «123qwerty456» - Иә

«^» Өзгерістер білдіру болып табылады:

өрнек / ^ Qwerty / жолына арналған «123qwerty456» - Жоқ

/ ^ Qwerty / жолына арналған «qwerty456» өрнек - Иә

Сол сияқты, жол символы соңында. Тұрақты өрнектер консистенциясы мүмкіндік береді: мысалы, [AZ], [AZ], [0-9] - бұл жағдайда немесе цифрларда алфавитінің барлық әріптері. Ресей әріптер, сондай-ақ пайдаланылуы мүмкін, бірақ (сұралатын деп сұралған) ішекті және беттер кодтау назар аудару керек. Жиі орыс әріптер, сондай-ақ арнайы таңбалар, ол кодтарын орнату үшін қолайлы болып табылады.

тұрақты өрнекті қалыптастыру кезінде төмендегідей олардың саны берілген отырып, белгілі бір жерде белгілі бір символдар болуына опцияларды көрсетуге болады: '*' = 0 қайталау немесе одан да көп рет; '+' = 1 немесе одан көп қайталау рет; {1} '+' сияқты, бірдей; {N} = қайталау дәл N рет; {N} = N қайталау есе немесе одан да көп; {N, M} м есе N қайталау =.

жақшалар пайдалана отырып, сіз нұсқалардың таңбалар жиынын көрсетуге болады. Бұл ұқсайды. «А», «В», «С» немесе «D»: [ABCD] = [жарнама] әрбір төрт символы =. Сіз әйтпесе көрсетуге болады. жиынтығы бойынша бақыланатындардан басқа, кез келген таңбалар: [^ ABCD] «А» басқа, кез келген таңбаны, «В», «С» немесе «D» =. '?' Бұл нүктесінде символы болуы мүмкін емес екенін көрсетеді. '.' жолдың аудару көрсететін басқа кез келген таңбаны белгілейді. Бұл '\ N', '\ R', '\ u2028 «немесе» \ u2029 «. өрнек '\ S * | \ S *' = '[\ с | \ S] *' жолдарында жаңа, соның ішінде кез келген сипаттағы, іздеу білдіреді.

тұрақты білдіру жеңілдетілген нұсқалары

өрнек «[\ с | \ S] * '- іздеу кеңістік, не оның болмауы, бұл жолда екенін барлық болып табылады. оның болмауы - бұл жағдайда, символы кеңістік көрсетеді, және '\ S' '\ с.

Сол сияқты, сіз ондық сандар іздеу үшін '\ D' пайдалана алады, сондай-ақ '\ D' сандық емес сипатта таба. Notation '\ F «,» R «және» \ N «нысаны-жем, каретки қайтарымының және жолдың-жем сәйкес келеді.

қойындысы сипаты - «\ т», тік - '\ V'. белгілеу '\ W' кез келген латын әліпбиі таңбаны (әріптер, сандар және астынғы белгісі) табады = [A-Za-z0-9_].

'W \' белгілеу [^ A-ZA-z0-9_] тең. Бұл әліпбиінің хат болып табылмайтын кез келген таңбаны, санын білдіреді, не '_'.

= Іздеу NUL таңбалардың '\ 0' Іздеу сипаты. Іздеу тиісінше '\ xHH' немесе 'uHHHH \' = Іздеу таңба коды немесе HHHH HH. H - оналтылық санды.

Ұсынылған тұжырымы мен тұрақты білдіру кодтау

Кез келген тұрақты өрнек мұқият жолдар түрлі нұсқаларына сынақтан үшін маңызды болып табылады.

тұрақты өрнек қатені жасау тәжірибесі бар аз болады, бірақ соған қарамастан, әрқашан тұрақты өрнектерді жазу ережелерін өз білімін «тұрақты маусымы» бір тілден екінші тілге көшіріледі, әсіресе шынайы болуы мүмкін емес екенін есте сақтаған жөн.

классикалық (дәл көрсете) және тұрақты білдіру оңайлатылған нұсқасы арасындағы таңдау, ол бірінші көреді жақсы. Өйткені, классика әрқашан анық екі ұмтылды деп көрсетілген. тұрақты өрнек немесе іздеу жолы орыс әріптерін болса, бір кодтау JavaScript-код тұрақты өрнек орындайды таба жұмыс істейтін барлық сызықтар мен бетін әкелуі тиіс.

таңбалар өңдеу болған кезде, емес латын әліпбиі, ол таңба кодтары емес, кейіпкерлері өздері нұсқау қарастыру мағынасы.

JavaScript іздеу алгоритмдерін іске асыру кезінде тұрақты өрнек мұқият тексерілуі тиіс. Ол кодтауын бақылауға, әсіресе маңызды болып табылады.

тұрақты көріністе жақшаға

тізбегі нұсқалары - жақшалар болуы керек немесе белгілі бір жерде болу, мен дөңгелек мүмкін емес символы опцияларын анықтау. Бірақ бұл тек жалпы ереже болып табылады. одан ешқандай ерекшелік жоқ, бірақ бағдарламалардың алуан бар.

Var cRegExp = «[AZ] * (PNG | JPG | GIF).»;

Var eRegExp = жаңа RegExp (cRegExp, 'I');

Var cRegRes = '';

Var sTest = 'picture.jpg';

егер (eRegExp.test (sTest)) {

cRegRes + = '- Иә';

} Тағы {

cRegRes + = '- Жоқ';

}

нәтижелері:

желісі «picture.jpg» үшін /[az]*.(png|jpg|gif)/ өрнек - Иә

«Picture.jpg» желісі бойынша /^[ad][az]*.(png|jpg|gif)/ өрнек - Жоқ

желісі «apicture.jpg» үшін /^[ad][az]*.(png|jpg|gif)/ өрнек - Иә

«Apicture.jg» желісі бойынша /^[ad][az]*.(png|jpg|gif)/ өрнек - Жоқ

Ол барлық, содан кейін жұлдызша нөлдік есе болуы мүмкін екенін атап өткен жөн. Бұл «тұрақты маусымы» кем дегенде күтпеген жолдармен жұмыс істеуі мүмкін екенін білдіреді.

Үлгі өрнек тексеру - электрондық пошта тестілеу

тұрақты JavaScript білдіру кезінде екі әдісін, тест және Exec алынған, және олардың әдістері (функциялары) сызықтар объектілерді (String) пайдаланылуы мүмкін: іздеу, сплит, ауыстыру және матч.

сынау әдісі қазірдің өзінде ол сіз үлгі өрнектің дұрыстығын тексеруге мүмкіндік береді, көрсетілді. Әдісі Нәтижесі: шынайы / жалған.

Келесі JavaScript өрнектерді қарастырайық. «Қиын, бірақ, әрине,» санының электрондық поштаны тексеру:

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] + \) + [а-ZA-Z] {2}) ) $ /;

жол Var sTest ='SlavaChip@sci.by «, содан кейін осы жол бар, шынайы береді дұрыс электрондық пошта мекенжайы болып табылады. аудит eRegExp.test (sTest) өткізілді.

Практикалық қолдану: электрондық пошта емдеу

Exec әдісі демалыс массив, қоңырау ұсынады:

Var aResult = eRegExp.exec (sTest);

cRegRes = '
' + aResult.length + '
';
{(; І aResult.length cRegRes + = aResult [I] + '
';
}

Ол мынадай нәтиже береді:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
анықталмаған
sci.by
анықталмаған
sci.by
Sci.

Басқа әдістері Сол сияқты жұмыс істейді. Ол өзіңді оларды тексеру ұсынылады. тұрақты тіркестерін дамыту және пайдалану, ол іс жүзінде жұмыс істеу жөн, коды көшіру мұнда әрдайым орынды емес.

Танымал «тұрақты маусымы»

ғана емес, басқа да көптеген оңай нұсқалары бар электрондық пошта берілді JavaScript тұрақты өрнек. Мысалы, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Алайда, бұл іске асуы назарға электрондық пошта мекен-жайы жазба емес, барлық жүзеге нұсқалары алады.

Әрине, сіз JavaScript үлгі өрнектер туралы өз жобалау алдында өз ұсынылған қалай талдау, әріптестерінің тәжірибесін көру керек. Бірақ кейбір қиындықтар бар. '\', '/' Немесе баға белгіленімі: Біз JavaScript тұрақты өрнектер (көшіргенде мысалдары) маңызды таңбаларды қайталамауы мүмкін екенін ұмытпау керек. Бұл сіз ұзақ іздеуге болады, ол қате әкеледі.

Ол назарға әдеттегі қабылдау үшін маңызды болып табылады «, адами өлшемі». 123-45-67, (29) 1234567, 80291234567 немесе 375291234567: келуші (адам) болуы мүмкін телефон үшін ресми JavaScript тұрақты білдіру, кейін ол түрлі жолдармен беріледі. Және бұл барлық бірдей саны болады. бірнеше үлгілерін емлесін әрдайым қолайлы болып табылады, және жазу сандар ережелерін қатаң бекіту қажетсіз ыңғайсыздық немесе шектеулерді жасау мүмкін. Таңдауы / ^ \ D [\ D \ (\) \ -] {4,14} \ D $ / Мен Егер сіз телефон нөмірін тексеріп, көптеген жағдайларда үшін жарамды болып табылады.

Сіз JavaScript өрнектерді, тек сан тексерулерді жасауға келсе, тіпті мұндай қарапайым жағдайда нақтылауды талап етеді. Бұл бүтін сан немесе бөлшек, ғылыми жазбалар немесе, қалыпты оң немесе теріс сан қарастырылуы тиіс. Сіз сондай-ақ, назарға Үтірден кейінгі белгілер саны мен үштаған туралы санының бүкіл бөлігін бөлу валюта символы болуын қабылдай алады.

Expression / ^ \ D + $ / Мен сандарды және /^\d+\.\d+$/i өрнек тек тексеру Нүктенің пайдалану санының бөлшек бөлігін көрсету үшін мүмкіндік береді.

JavaScript үлгі өрнектер тексеру профильдерін, төлқұжат деректері, сондай-ақ заңды мекенжайлары Т енгізу әсіресе, маңызды болып табылатын, қатты кіріс деректердің пішімін көрсету үшін пайдалануға болады. Д.

тексеру күннен - кешеніне қарапайым

басқа JavaScript өрнектерді қарастырайық. телефон нөмірлерінің саны ретінде бүгінгі күнге дейін мысалдары, қаттылық пен икемділік арасындағы таңдау болып табылады. Іс-шараның күні - жиі қолдануға тура келеді маңызды деректердің бірі. Бірақ белгілі бір форматта кірісін бекіту: «кк-мм-жжжж» немесе «d.m.gg» жиі тұтынушы наразылығын әкеледі. Егер Сіз тек бір санды енгізген кезде классикалық HTML-нысан толық күн айдың енгізу өрісіне, көшу, орын алуы мүмкін емес, және екінші кіру қиын болуы мүмкін. Мысалы, күні саласындағы ол 3 енгізілді, келесі саны 2 курс, қолайсыздықтар тудыруы болады, ол, ең алдымен алмастыра алмайды, және оның 32 жатқызылады.

Тиімділігі мен тұрақты тіркестерін ыңғайлылығы мәнi бойынша келушілермен диалог жалпы құрылыс байланысты. Бір жағдайда, ол нысан бір енгізу өрісін пайдалану ұсынылады күнді көрсету үшін, басқа да жағдайда ол күн, ай және жыл үшін әр түрлі өрістер үшін қамтамасыз ету қажет. Бірақ кейін кез келген қосымша «Кодекстің шығындар», кібісе жыл айлар санын, оларға күн санын тексеру үшін.

Іздеу және ауыстыру, тұрақты өрнек жад

JavaScript String объектісінің әдісін пайдалана отырып (тұрақты өрнектерді) ауыстыру, және бізге мәнін табу және оны бірден өзгертуге мүмкіндік береді. Бұл теру қателерін түзету үшін пайдалы болып табылады, нысаны өрістердің мазмұнын өңдеуге және бір тұсаукесері форматта деректерді түрлендіру үшін.

Var cRegExp = / ([А-Z] +) \ с ([A-Z] +) \ с ([A-Z] +) / I; // іздегенде үш айнымалылар «болып табылады

Var sTest = 'Бұл мақалада жақсы!';
Var cRegRes = sTest.replace (cRegExp, «$ 2, $ 3, $ 1»);

Var dTestLine = document.getElementById ( 'scTestLine');

«+ STest +» жолына арналған «+ cRegExp + dTestLine.innerHTML = 'өрнек' қосыңыз: '+ cRegRes;

нәтиже:

өрнек / ([AZ] +) \ с ([AZ] +) \ с ([AZ] +) / I желісі үшін «Бұл мақалада жақсы!» жүзеге: мақала, бұл жақсы!

кронштейнге жұп саны ($ 1, $ 2, ...) - жақша әрбір жұп орындау кезінде қайда н айнымалы '$ N, нәтижені сақтайды. дәстүрлі айырмашылығы, мұнда айнымалы нөмірлеу 1 емес, 0.

Жалпы ұсыныстар

Тұрақты өрнек кодты жеңілдетеді, бірақ оны дамыту уақыт жиі айырмашылықты құрайды. Сіз қарапайым конструкцияларын басталады, содан кейін неғұрлым күрделі өрнектерді біріктіру жасады аласыз. Сіз өрнектерді немесе арнайы жергілікті құралдарын тексеру үшін әр түрлі онлайн қызметтері пайдалана алады.

ең жақсы нұсқа жаңа әзірлемелерді тексеру үшін тұрақты тіркестерін және өз құрал-өз кітапханасын жасайды. Бұл тәжірибесін жалпылау және тез сенімді және ыңғайлы дизайн салу жолын білу үшін ең жақсы жолы болып табылады.

кейіпкерлердің және ішекті қайталау пайдалану, яғни, арнайы таңбаларды '*' болып, '+' және жақшаға, қайталау саны қарапайымдылығы мен орындылығы қағидаттарын басшылыққа алуға тиіс көрсете. Ол бұл оның жұмысы басталғанға дейін тұрақты өрнек іске асыру маңызды болып табылады, және нәтижесі толығымен шолғыш арқылы пайдаланылатын қозғалтқыштың қуаты болып табылады алуға. Барлық тілдерге JavaScript балама болып табылады. Әрбір браузер олардың әкелуі мүмкін қалауыңызға тұрақты тіркестерін түсіндіруде.

Сыйысымдылық тұрақты тіркестерін үшін, ол сондай-ақ жасауға бар, жай ғана беттер және стилі парақтары емес. бет сәтті браузерлердің әр түрлі жұмыс істеді, сондай-ақ жұмыс істеп тұрған кезде ғана қаралуы мүмкін, JavaScript пайдаланады.

JavaScript, String және RegExp

клиент деңгейде оң жұмысқа, яғни, JavaScript жылы кірушінің шолғышта, ол әзірлеуші жоғары дағдыларын талап етеді. Жеткілікті ұзақ сіз JavaScript-код шолғыштың өз қаржысымен тіруге немесе үшінші тарап кеңейтімдері, коды редакторлар, тәуелсіз бағдарламалардың көмегімен мүмкіндігі бар.

Алайда, барлық жағдайларда, отладчик өңдеуге және беруге әзірлеуші, тез қате анықтау үшін жақсы қолдау, тар анықтай алады. компьютерлік сонау өткен, есептеулер бағытталған болатын рет. Енді, ақпарат және желілік нысандарына ерекше назар аудару маңызды рөл ойнауға келді. болат ішекті саны, және олардың шынайы табиғаты олар оң уақыт және оң жерде ғана көрсетеді.

Тұрақты өрнектер желілері мүмкіндігін күшейту, бірақ өзін құрмет талап етеді. оның жұмысына, ол модельдеуге болады, тіпті егер тым қызықты емес идеяға Debug RegExp.

нағыз қауіпсіз және сенімді коды, әрбір беттің тұрақты пайдалану және тұтастай сайты - объект String, JavaScript семантикасын және синтаксис, яғни RegExp нысанның құрылымы мен логикасын түсіну.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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