КомпјутериПрограмирање

Javascript-от, на регуларниот израз примери, проверете на регуларни изразиОна

Пред доаѓањето на хипертекст јазик, но наместо тоа, се додека не стана јасно дека ние не треба само да се погледне, но да го стори тоа под одредени услови, во одредено место, во рамките на променетите податоци во право количини, вообичаените пребарување и замени функција организирани современи програмер. Се создаде ремек-дела на техниката во програмски јазици, бази на податоци и брилираа во форма на условите за земање мостри, опремени со зачувани процедури, предизвикувачи и други средства за гломазна примерок релациони информации песни. Појавата на регуларниот израз на револуцијата не доведе, но тоа беше корисна и лесен начин да се најде и да го замени информации. На пример, регуларни изрази вклучите Javascript-мејл значително поедноставување на регистрација на посетители, не се вчита на веб-сајтот испраќање на пораки до непостоечки адреси.

Да се каже дека го вклучите Javascript-регуларниот израз е многу подобро produmannnyh секвенци indexOf () повици во рамките на конвенционалните циклична и оператори, но не може да се каже дека тоа го направи код скрипта е компактен, но малку разбирлив за неупатените, може да биде недвосмислено.

Regexp објект = + дефиниција мотор

Регуларни изрази - е шаблон + моторот. Првиот е, всушност, регуларен израз - JavaScript објект - regexp, вториот - модел изведувач, тоа се однесува на линија. Мотори кои имплементираат регуларни изрази за секој програмски јазик се различни. И покрај тоа што не сите разлики се значајни, тоа треба да се има на ум, како и да бидат сигурни да проверите внимателно на регуларниот израз пред неговото работење.

А посебна нотација кога пишувате регуларни изрази е прилично лесен за употреба и доста ефективна, но тоа бара заштита, уредност и трпение од инвеститорот. Со нотација регуларниот израз модели треба да се навикнеш на. Ова не е нешто минливо, тоа е логиката на механизам за спроведување «JavaScript регуларни изрази."

регуларниот израз шема

Дозволено две опции:

var expOne = / abc * / i;

var expTwo = regexp ( "abc *", "I");

Обично тоа се користи првиот метод. Во вториот случај, во наводници, бидејќи да го користите карактер '\', тоа мора да се избега од општите правила.

"Јас" - знамето означува "случај нечувствително". Вие исто така може да се користат знамиња "G" - «Global пребарување" и "М" - пребарување на мулти-линија.

Симболот "/" за да се покаже заеднички за користење на обрасци.

Почетокот и крајот на регуларниот израз

На "^" го дефинира карактерот (а) од кои можете да почнете со регуларен израз, и "$ 'одредува кој карактер (а) мора да биде на крајот. Вие не треба да експериментирате со нив во внатрешноста на изразување, каде што тие имаат различно значење.

На пример,

var eRegExp = нови regexp (cRegExp, 'i');

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" - Да

Ако ги отстраните "i" знаме, резултатот е:

изразување / ^ AbcZ $ / за стринг "abcz" - Не

Содржината на регуларниот израз

А редовно изразување е секвенца од знаци, што е предмет на пребарување. Изразување / qwerty / во потрага за влез е овој редослед:

изразување / qwerty / за низа "QWERTY" - Да

изразување / qwerty / за низа "123qwerty456" - Да

На "^" промени се изрази:

изразување / ^ qwerty / за низа "123qwerty456" - Не

изразување / ^ qwerty / за низа "qwerty456" - Да

Слично на тоа, на крајот на линијата симбол. Регуларни изрази овозможи конзистентност: на пример, [az], [az], [0-9] - сите букви од азбуката во овој случај или личности. Руски букви, исто така, може да се користи, но треба да се обрне внимание на кодирање на стрингови (кој се бара што се бара) и страници. Често руски букви, како и посебни знаци, тоа е подобро да се постави кодови.

При формирање на регуларниот израз може да наведете опции за присуство на одредени симболи во одредена локација, со нивниот број дадени како што следува: '*' = 0 повторување или повеќе пати; '+' = 1 или повеќе повторување пати; {1} е иста, како '+'; {N} = повторување точно n пати; {N,} = n повторување пати или повеќе; {N, m} = повторување на n за да го m пати.

Користење на загради, можете да наведете карактер сет на опции. Тоа изгледа вака. [ABCD] = [АД] = секои четири симболот: 'A', 'b', 'c' или 'd'. Можете да се определи поинаку. Било карактер, освен оние наведени во комплетот: [^ ABCD] = било карактер, освен 'A', 'b', 'c' или 'd'. '?' Тоа укажува дека во овој момент симбол не може да биде. '.' одредува било карактер, освен што укажува на нов ред. "\ R" ова "\ n", "\ u2028 'или' \ u2029. Изразот '\ s * | \ S *' = '[\ s | \ S] * "е во потрага по било карактер, вклучувајќи ги и новите редови.

Поедноставена верзија на регуларниот израз

Изразот "[\ s | \ S] * '- пребарување простор, или недостаток од него, тоа е сè што е на линија. Во овој случај, симболот '\ s' укажува на простор, и '\ S "- неговото отсуство.

Слично на тоа, можете да го користите '\ d' за да пребарувате за децимали, и '\ Д "се најде не-нумерички карактер. Нотација '\ f' ', R' и '\ n' одговараат на форма-добиточна храна, превоз се врати и линија-извор.

карактер на јазичето - "\ t", вертикална - "\ V". Ознаката "\ w" ги наоѓа латиница знаци (букви, бројки, и ознака подвлечено) = [A-zA-z0-9_].

Ознаката "\ W 'е еквивалентно на [^ A-za-z0-9_]. Ова значи дека било карактер, што не е буква од азбуката, број, или "_".

Барај карактер '\ 0' = пребарување НУБ карактери. Барај '\ xHH "или" \ uhhhh' = Барај карактер кодиран или hhhh г.г. соодветно. H - хексадецимална цифра.

Препорачани текстот и кодирање на регуларниот израз

Секое регуларниот израз е важно внимателно да се тестира на различни верзии на редови.

Со искуство за создавање на редовни грешки израз ќе бидат помали, но сепак секогаш треба да се има на ум дека нивните познавање на правилата за пишување на регуларни изрази не може да биде вистина, особено кога "регуларниот дел од сезоната" се пренесува од еден на друг јазик.

Избор помеѓу класичен (прецизна индикација) и поедноставена верзија на регуларен израз, тоа е подобро да се претпочитаат во прв план. Впрочем, во класици е секогаш јасно е наведено дека двете бара. Ако регуларниот израз или пребарување стринг имаат руски букви, треба да доведе до еден кодирање на сите линии и на страницата на која работи да го вклучите Javascript-код врши регуларен израз.

Кога постои обработка карактер, не-Латинска азбука, тоа го прави смисла да се разгледа индикација за кодовите за карактер, а не самите ликови.

При спроведувањето на алгоритми за пребарување во вклучите Javascript-регуларниот израз треба внимателно да се провери. Тоа е особено важно да се контролира на кодирање на карактери.

Загради во регуларниот израз

Заградите се дефинира опции за симбол, кој мора да се биде или не може да биде на едно место, и круг - варијанти низа. Но, ова е само општо правило. Од него не е исклучок, но има широк спектар на апликации.

var cRegExp = "[az] * (png | jpg | gif).";

var eRegExp = нови regexp (cRegExp, 'i');

var cRegRes = '';

var sTest = 'picture.jpg';

ако (eRegExp.test (sTest)) {

cRegRes + = '- Да';

} Else {

cRegRes + = '- Не';

}

резултати:

/[az]*.(png|jpg|gif)/ израз за ова "picture.jpg" - Да

/^[ad][az]*.(png|jpg|gif)/ израз за линија "picture.jpg" - Не

/^[ad][az]*.(png|jpg|gif)/ израз за ова "apicture.jpg" - Да

/^[ad][az]*.(png|jpg|gif)/ израз за линија "apicture.jg" - Не

Треба да се напомене дека сите, а потоа ѕвездичка може да бидат присутни нула пати. Ова значи дека "регуларниот дел од сезоната", би можеле да работат во неочекувани начини најмалку.

Проверете regexp - тестирање на е-маил

На регуларниот израз JavaScript добиени две методи, тестирање и exec, и може да се користи во линии објекти (стринг) во нивните методи (функции): пребарување, Сплит, го замени и натпревар.

метод на тестирање е веќе докажано, тоа ви овозможува да се провери точноста на регуларниот израз. Метод Резултат: точно / неточно.

Размислете за следново 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] + \) + [a-zA-Z] {2}) ) $ /;

низа var sTest ='SlavaChip@sci.by 'дава точно, тогаш постои оваа низа е точна e-mail-адреса. Ревизијата беше спроведена од страна на eRegExp.test (sTest).

Практична употреба: третман на Е-пошта

Извршување метод дава на излез низа, јавете се на:

var aResult = eRegExp.exec (sTest);

cRegRes = '
' + aResult.length + '
';
за (var i = 0; i cRegRes + = aResult [i] +
'';
}

Тој им дава следните резултати:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
недефиниран
sci.by
недефиниран
sci.by
сци.

Други методи работат на сличен начин. Се препорачува да ги провериш себе. Развој и користење на регуларни изрази, пожелно е да функционира во пракса, кодот копирање не секогаш е препорачливо тука.

Популарната "регуларниот дел од сезоната"

JavaScript регуларниот израз дава на е-мејл не само има многу повеќе лесно опции. На пример, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Сепак, ова отелотворување зема во предвид не сите олицетворение на евиденција на e-mail адреса.

Се разбира, мора да ја гледате искуство на своите колеги, да се анализира како нивните предложени пред да се дизајнира сопствена JavaScript за регуларни изрази. Но, постојат некои тешкотии. Ние не треба да заборавиме дека го вклучите Javascript-регуларни изрази (примери на при копирање) може да се дуплираат основните знаци: '\', '/' или цитати. Ова ќе доведе до грешки, кои може да се бара долго.

Тоа е важно да се земат предвид и обично "човечка димензија." По официјалниот JavaScript регуларниот израз за телефон, кој може да биде посетителот (лице), со што е дадена во различни начини: 123-45-67, (29) 1234567, 80291234567 или 375.291.234.567. И сето тоа е на истиот број. Искажи повеќе модели не секогаш е прифатливо, а крути фиксација на правилата за пишување броеви може да создаде непотребна непријатност или ограничувања. Опција / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i е погоден за повеќето случаи може да се провери вашиот телефонски број.

Ако сакате да се направи JavaScript регуларни изрази, само бројки проверки, дури и таква едноставна случај бара појаснување. Тоа треба да се смета како цел број или фракционо, научни нотација, или нормално, позитивен или негативен број. Вие исто така може да се земе во предвид постоењето на симбол на валутата, бројот на цифри по децималната точка и поделбата на целиот дел од бројот на тријада.

Изразување / ^ \ d + $ / i провери само со броеви и /^\d+\.\d+$/i израз овозможува користење на точка за да се покаже на фракционо дел на број.

Во вклучите Javascript-проверка на регуларни изрази може да се користи за означување на формат на хард внес на податоци, што е важно, особено кога ќе влезат профили, пасош податоци, како и правни адреси т. Д.

Проверете датумите - едноставни до комплексни

Да разгледаме уште JavaScript регуларни изрази. Примери до денес, како и за бројот на телефонски броеви претставуваат избор помеѓу цврстина и флексибилност. Датум на настан - еден од основните податоци, кои често треба да се администрира. Но, одредување на влез во одреден формат: "дд-мм-гггг 'или' d.m.gg" често води до клиент незадоволство. Преминот од областа на ден-за-месечно влез, полн со класичен HTML-форма, не може да се случи кога ќе се влезе само еден број, а вториот влез може да биде тешко. На пример, во областа на денот кога беше воведен 3 и следниот број 2 не е замена за првиот, и се припишува на нејзините 32, кои, се разбира, ќе предизвика непријатности.

Ефикасност и практичност на регуларни изрази во суштина зависи од општата изградба на дијалог со посетителот. Во еден случај, да се наведе датумот препорачливо е да користите една полето за внесување на формата, а во другиот случај потребно е да се обезбеди за различни области за ден, месец и година. Но, тогаш никакви дополнителни "трошоци на код" за да се провери на Престапна година, бројот на месеци, бројот на денови во нив.

Пребарување и да се замени, регуларниот израз меморија

JavaScript замени (регуларни изрази) со користење на методот на String објект, и ни овозможи да се најде вредноста и промени тоа веднаш. Ова е корисно за корекција на грешки пишување, уредување на содржината на полињата на формуларот и за конвертирање на податоци од еден формат презентација на друг.

var cRegExp = / ([a-z] +) \ S ([a-z] +) \ S ([a-z] +) / i; // кога бараат три "променливи"

var sTest = 'Оваа статија е добро! ";
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");

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

dTestLine.innerHTML = 'изразот "+ cRegExp +" за стринг "' + sTest +" пресврт ": + cRegRes;

резултатот е:

изразување / ([az] +) \ s ([az] +) \ s ([az] +) / i за линијата ", овој напис е добро!" од: статијата е добро, ова!

При вршење на секој пар од загради зачувува резултатот во "променлива" $ n, каде n - број на заградата парови ($ 1, $ 2, ...). За разлика од конвенционалните, тука променлива броеви е 1, не 0.

Општи препораки

Регуларен израз кој го поедноставува кодот, но време да се развие тоа често го прави разлика. Можете да почнете со едноставен дизајн, а потоа направи да се комбинираат во повеќе сложени изрази. Можете да ги користите различни интернет услуги да ги тестираат регуларни изрази или посебни локални алатки.

Најдобра опција ќе создадат свој библиотека на регуларни изрази и своите алатки за тестирање на новите случувања. Ова е најдобар начин да се консолидира искуство и да научат како да брзо да се изгради сигурен и удобен дизајн.

Користење на повторување на ликови и жици, тоа е, специјални знаци "*", "+" и загради, со назначување на бројот на повторувања треба да бидат водени од принципите на едноставност и брзина. Важно е да се сфати дека на регуларниот израз на почетокот на својата работа, и да се добие резултат е целосно во моќта на моторот се користи од страна на прелистувачот. Сите јазици не се еквивалентни на JavaScript. Секој пребарувач може да ги донесат нивните лични преференции во толкувањето на регуларни изрази.

Компатибилност не само страници и стил на состојба е, во регуларните изрази, тоа, исто така, мора да се направи. Оваа страница користи JavaScript, може да се смета за добро функционира само кога е успешно работел на различни пребарувачи.

JavaScript, Стринг и regexp

Со вистинската работа на ниво на клиентот, што е, во пребарувачот на посетителот во JavaScript, што бара високи вештини на инвеститорот. Доволно долго ќе имаат можност да debug JavaScript код прелистувачот сопствени средства или со помош на трети лица екстензии, кодот уредници, независни програми.

Сепак, не сите случаи, дебагерот може да се справи и да се обезбеди добра поддршка за инвеститорот, за откривање на брзо грешка, откривање на тесните грла. Времињата кога компјутерот се фокусирани на пресметките, во далечното минато. Сега, се обрне посебно внимание на информациите и линија објекти почнаа да играат значајна улога. Бројот на челични жици, и нивната вистинска природа тие се манифестираат само во право време и во право место.

Регуларни изрази зајакне можноста на линии, но бара самопочитта. Debug regexp во својата работа, дури и ако тоа е можно да се симулираат, не е премногу интересна идеја.

Разбирање на структурата и логиката на објектот regexp, што значи дека објектот Стринг, синтаксата и семантиката на вклучите Javascript - вистински сигурна и безбедна код, стабилна работа на секоја страница и сајт како целина.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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