KompüterlərProqramlaşdırma

Javascript, müntəzəm ifadə: nümunələr, müntəzəm ifadələrin yoxlanılması

biz yalnız baxmaq deyil, lakin müəyyən şərtlər altında bunu, müəyyən bir yerdə, dəyişdirilmiş məlumatların altında sağ miqdarda adi axtarış və əvəz aydın oldu qədər mətn dili Advent, lakin əvvəl deyil, funksiyası hər hansı bir mürəkkəb təşkil proqramçı. proqramlaşdırma dilləri sənət axtarış şah yaradın və verilənlər bazası nümunə şərait formaları üstün, saxlanılan prosedurlar, tetikleyiciler və böyük nümunə relational məlumat yollarının digər vasitələrlə təchiz olunub. inqilab müntəzəm ifadə görünüşü səbəb deyil, ancaq bu məlumat tapmaq və əvəz etmək üçün bir faydalı və rahat idi. Məsələn, e-poçt xeyli ziyarətçi qeydiyyatı asanlaşdırmaq JavaScript normal ifadeler, mövcud ünvana göndərilən web yüklemek yoxdur.

JavaScript normal ifade () indexOf daha yaxşı produmannnyh ardıcıllığı şərti tsiklik və operatorların çərçivəsində çağırır ki, demək, lakin bu script kodu yığcam, lakin uninitiated üçün anlaşıqlı az etmişdir ki, deyə bilmərəm, birmənalı ola bilər.

Object regexp = + şablon mühərrik

Daimi ifadələr - şablon + motorudur. xətti üçün müraciət, bu şablon ifaçı - JavaScript obyekt - - regexp, ikinci ilk müntəzəm ifadə əslində. Hər proqramlaşdırma dili üçün normal ifadeler tətbiq Engines fərqlidir. bütün fərqlər əhəmiyyətli olmasına baxmayaraq, bu yadda, eləcə də diqqətlə əvvəl fəaliyyətə müntəzəm ifadə yoxlamaq üçün əmin olun edilməlidir.

normal ifadeler yazılı xüsusi notation istifadə etmək çox asan və olduqca effektiv, lakin bu geliştirici qayğı, səliqə və səbr tələb edir. notation müntəzəm ifadə nümunələri istifadə almaq lazımdır. Bu «JavaScript normal ifadeler həyata keçirilməsi üçün bir mexanizm məntiq, bir fad deyil."

normal ifade model

iki variantları verilir:

var expOne = / abc * / i;

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

Adətən ilk metodu istifadə olunur. İkinci halda, quotes, çünki xarakter istifadə etmək '\', ümumi qaydalara xilas olmalıdır.

"Mən - bayraq" hissiz işi "ifadə. «Global Axtar" və "m" - - bir multi-line axtarış Siz həmçinin bayraqlar "g" istifadə edə bilərsiniz.

simvolu '/' bir şablon istifadə üçün ümumi göstərir.

başlanğıcı və müntəzəm ifadə sonu

"^" Sonunda olmalıdır xarakter (s) müəyyən xarakter (lər) olan müntəzəm ifadə başlamaq üçün, və $ "müəyyən edir. Siz onlar fərqli bir məna var bir ifadə, daxili onlarla cəhd deyil.

Məsələn,

var eRegExp = yeni regexp (cRegExp, 'i');

var cRegRes = '';

var sTest = 'ABCZ';

əgər (eRegExp.test (sTest)) {

cRegRes + = '- Bəli';

} Else {

cRegRes + = '- No';

}

var dTestLine = document.getElementByID (scTestLine ');

dTestLine.innerHTML = 'Expression /' + cRegExp + / sıra üçün "+ sTest +" '+ cRegRes.

element "scTestLine" səbəb olacaq (cRegExp dəyişən müvafiq mənası var)

ifadə / ^ ABCZ $ / string "ABCZ" üçün - Bəli

Siz 'i' bayrağını aradan qaldırılması, nəticə:

ifadə / ^ ABCZ $ / string "ABCZ" üçün - No

müntəzəm ifadə məzmunu

A normal ifade axtarış mövzu simvol bir ardıcıllıqla deyil. Expression / qwerty / giriş axtarır bu ardıcıllıqla deyil:

ifadə / qwerty / "qwerty" simli üçün - Bəli

ifadə / qwerty / "123qwerty456" simli üçün - Bəli

"^" Dəyişikliklər ifadələr var:

ifadə / ^ qwerty / "123qwerty456" simli üçün - No

ifadə / ^ qwerty / "qwerty456" simli üçün - Bəli

Eynilə, xətt simvolu sonuna. Daimi ifadələr ardıcıllıq üçün imkan verir: məsələn, [az], [AZ] [0-9] - bu halda və ya rəqəmlər əlifbasının bütün məktublar. Rusiya məktublar da istifadə edilə bilər, lakin (istədi istədi) strings encoding və pages diqqət yetirməlidir. Tez-tez rus məktublar, eləcə də xüsusi simvol, bu kodları qurmaq üçün üstünlük.

onların sayı aşağıdakı kimi verilmiş müntəzəm ifadə, müəyyən bir yeri müəyyən rəmzləri iştirakı üçün variantları daxil edə bilərsiniz təşkil zaman: '*' = 0 təkrar və ya daha çox dəfə; '+' = 1 və ya daha çox təkrar dəfə; {1} '+' kimi eyni; {N} = təkrar dəqiq n dəfə; {N} = n təkrar dəfə və ya daha çox; m dəfə n {N, m} = təkrar.

Mötərizədə istifadə edərək, variantları müəyyən xarakter daxil edə bilərsiniz. Bu kimi görünür. [Abcd] = [ad] = hər dörd simvolu: 'bir', 'b', 'c' və ya 'd'. Siz başqa belirtebilirsiniz. set müəyyən edilənlərdən başqa hər hansı bir xarakter [^ abcd] bir 'başqa hər hansı bir xarakter,' b ',' c 'və ya' d '=. '?' Bu nöqtədə simvolu ola bilər ki, göstərir. '.' newline ifadə başqa hər hansı bir xarakter müəyyən edir. Bu "\ n", "\ r", "\ u2028 'və ya' \ u2029. ifadə \ s * | \ S * | newlines o cümlədən hər hansı xarakter üçün axtarış deməkdir = '* [\ S \ s].

müntəzəm ifadə Simplified versiyaları

Axtarış sahəsi, və ya onların olmaması, ki, bütün xəttində deyil - | ifadə * [\ S \ s]. onun olmaması - bu halda, simvolu '\ s bir yer, və' \ S 'göstərir.

Eynilə, siz bu rəqəm axtarmaq üçün '\ d' istifadə edə bilərsiniz, və '\ D' qeyri-rəqəmli xarakter tapa bilərsiniz. Notation '\ f "," r "və" \ n "form-feed, vaqon qaytarılması və line-feed uyğundur.

tab xarakter - '\ t ", şaquli -' \ v. təyin '\ w' hər hansı bir latın əlifbası xarakter (məktublar, rəqəm, və çizgi nişanı) = [A-Za-z0-9_] tapır.

'W \' təyin [^ A-Za-z0-9_] bərabərdir. Bu əlifba, sayı və ya '_' bir məktub deyil hər hansı bir xarakter deməkdir.

Axtar xarakter \ 0 '= axtarış NUL simvol. Search '\ xHH' və ya '\ uHHHH' = Search xarakter kodu və ya HHHH HH olaraq təyin olundu. H - hexadecimal rəqəmli.

Məsləhət görürük sözləri və müntəzəm ifadə kodlaşdırma

Hər hansı bir normal ifade diqqətlə satır müxtəlif versiyasını test etmək vacibdir.

kiçik olacaq normal ifade səhv yaradılması təcrübəsi ilə, lakin həmişə yazılı normal ifadeler qaydaları öz bilik "müntəzəm mövsüm" başqa bir dildən köçürülür xüsusilə, doğru ola bilər ki, nəzərə saxlanılmalıdır.

klassik (dəqiq göstərilməklə) və müntəzəm ifadə sadələşdirilmiş versiyası arasında seçilməsi, ilk seçim daha yaxşıdır. Bütün sonra, klassik həmişə aydın, həm də istədi ki, göstərilir. normal ifade və ya axtarış sözü rus məktublar varsa, bir kodlama bütün xətləri və müntəzəm ifadə həyata JavaScript-kodunu tapmaq fəaliyyət olan səhifə gətirib çıxarmalıdır.

Bir xarakter emal, qeyri-latın əlifbası var, o xarakter kodları deyil, simvol özləri göstəricisi hesab əhəmiyyət kəsb edir.

JavaScript müntəzəm ifadə axtarış alqoritmlər həyata zaman diqqətlə yoxlanılır olmalıdır. Bu xarakter kodlama nəzarət etmək xüsusilə vacibdir.

müntəzəm ifadə parantez

sequence variantlar - mötərizədə olmalıdır və ya müəyyən bir yerdə ola bilər simvolu, və dəyirmi üçün variantları müəyyən edir. Amma bu yalnız bir ümumi qayda deyil. ondan heç bir istisna var, lakin proqram müxtəlif var.

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

var eRegExp = yeni regexp (cRegExp, 'i');

var cRegRes = '';

var sTest = 'picture.jpg';

əgər (eRegExp.test (sTest)) {

cRegRes + = '- Bəli';

} Else {

cRegRes + = '- No';

}

nəticələri:

xətt "picture.jpg" üçün /[az]*.(png|jpg|gif)/ ifadə - Bəli

"Picture.jpg" xətti /^[ad][az]*.(png|jpg|gif)/ ifadə - No

xətt "apicture.jpg" üçün /^[ad][az]*.(png|jpg|gif)/ ifadə - Bəli

"Apicture.jg" xətti /^[ad][az]*.(png|jpg|gif)/ ifadə - No

Bu ki, sonra bir ulduz sıfır dəfə mövcud ola bilər, qeyd etmək lazımdır. Bu, "müntəzəm mövsüm" ən azı gözlənilməz yollarla işləmək bilər deməkdir.

Regexp Check - test e-poçt

əvəz və matç, axtarış, split iki üsulları test və icraçı əldə və xətləri onların üsulları obyektlərin (String) (funksiyaları) istifadə edilə bilər müntəzəm JavaScript ifadə edir.

test üsulu artıq müntəzəm ifadə düzgünlüyünü yoxlamaq üçün imkan verir, nümayiş etdirilib. Metod Nəticə: yalan / true.

Aşağıdakı JavaScript normal ifadeler düşünün. "Əlbəttə çətin, lakin" sayı e-poçt edin:

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}) ) $ /;

simli var sTest ='SlavaChip@sci.by sonra bu simli doğru e-mail var, əsl verir. audit eRegExp.test (sTest) tərəfindən aparılmışdır.

Praktiki istifadə: e-poçt müalicə

Exec üsul çıxış sıra təmin edir, zəng edin

var aResult = eRegExp.exec (sTest);

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

Bu, aşağıdakı nəticə verir:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
undefined
sci.by
undefined
sci.by
sci.

Digər üsulları eyni işləyir. Bu özünüzü onları yoxlamaq üçün tövsiyə olunur. İnkişaf və normal ifadeler istifadə praktikada işləmək olardı, kodu çıxarmaq burada həmişə məqsədəuyğun deyil.

Popular "müntəzəm mövsüm"

JavaScript normal ifade çox daha asan variantları var yalnız e-poçt verilir. Məsələn, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Lakin bu təcəssümü nəzərə e-mail yazan bütün quruluşlara edir.

Əlbəttə ki, siz JavaScript normal ifadeler öz dizayn əvvəl təklif necə təhlil etmək, həmkarları təcrübə keçirmək lazımdır. Lakin bəzi çətinliklər var. '/', '\' Və ya quotes: Biz JavaScript normal ifadeler (çıxarmaq zaman nümunələri) əsas simvol dublikat bilər ki, unutmaq lazım deyil. Bu uzun axtarış edə bilərsiniz səhv səbəb olacaq.

Nəzərə adi almaq vacibdir "insan ölçüsü". qonaq (adam) ola bilər telefon üçün formal JavaScript müntəzəm ifadə sonra, müxtəlif yollarla verilir: 123-45-67, (29) 1234567, 80291234567 və ya 375291234567. Və bütün eyni sayda var. çox nümunələri Spelling həmişə məqbul deyil və lazımsız narahatlıq və ya məhdudiyyətlər yarada bilər nömrələri yazmaq üçün qaydalar sərt təsbit. Seçim / ^ \ d [\ d \ (\) \ -] {4,14} \ d $ / i telefon nömrənizi yoxlamaq çox hallarda üçün uygundur.

Bir JavaScript normal ifadeler, yalnız rəqəm çek etmək istəyirsinizsə, belə bir sadə hal aydınlıq tələb edir. Bu tam və ya fraksiya, elmi notation, və ya, normal müsbət və ya mənfi sayı nəzərə alınmalıdır. Siz həmçinin nəzərə valyuta simvolu olduğunu, bu nöqtədən sonra rəqəm sayı və triad sayı bütün hissəsi bölünməsi bilər.

Expression / ^ \ d + $ / i yalnız nömrələri yoxlamaq və /^\d+\.\d+$/i ifadə sayı fraksiya hissəsi göstərir bir nöqtəyə istifadə imkan verir.

JavaScript normal ifadeler yoxlanılması anket, pasport məlumatları, hüquqi ünvanları t girərkən xüsusilə vacibdir ağır input data, formatını göstərmək üçün istifadə edilə bilər. D.

tarixləri Check - kompleks sadə

başqa JavaScript normal ifadeler düşünün. telefon nömrələri sayı kimi tarixə nümunələri möhkəmlik və elastiklik arasında seçim təmsil edir. Tədbirin tarixi - tez-tez idarə etmək əsas məlumatların bir. Amma xüsusi formatda daxil təyinat "dd-mm-YYYY 'və ya' d.m.gg 'tez-tez müştəri narazılığına səbəb olur. Yalnız bir rəqəmli daxil zaman gün-to-ay giriş sahəsində keçid, klassik HTML formada tam yer ala bilməz, ikinci giriş çətin ola bilər. Məsələn, günün sahəsində 3 təqdim olundu və növbəti sayı 2 ilk əvəz etmir, və əlbəttə ki, Narahatçılığa səbəb olacaq, onun 32, aid edilir.

Səmərəlilik və normal ifadeler rahatlığı mahiyyətcə qonaq ilə dialoq ümumi tikintisi asılıdır. Bir halda, tarixi göstərir ki, digər halda bu gün, ay və il üçün müxtəlif sahələrdə təmin etmək lazımdır, şəklində bir giriş sahəsində istifadə etmək məsləhətdir. Amma sonra hər hansı əlavə "kodu xərcləri" sıçrayış il ay, onların gün sayını yoxlamaq.

, Normal ifade yaddaş Axtarış və əvəz

JavaScript String obyekt metodundan istifadə (normal ifadeler) əvəz və bizə dəyər tapmaq və dərhal dəyişdirmək üçün imkan verir. Bu forma sahələri məzmunu redaktə yazaraq səhvlər korrektə və bir təqdimat format data konvertasiya üçün faydalıdır.

var cRegExp = / ([a-z] +) \ s ([a-z] +) \ s ([a-z] +) / i; axtarış zaman // üç "dəyişənlər" var

var sTest = 'Bu maddə yaxşı!';
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3 $ 1");

var dTestLine = document.getElementByID (scTestLine ');

dTestLine.innerHTML = 'ifadəsi' + cRegExp + ' "+ sTest +" çevirmək "simli üçün' + cRegRes;

nəticə:

ifadə / ([az] +) \ s ([az] +) \ s ([az] +) / i xətti "Bu məqalə yaxşı!" out: Məqalədə bu yaxşı!

bracket cüt sayı ($ 1, $ 2, ...) - mötərizədə hər bir cüt həyata zaman dəyişən "nəticə $ n, n saklar. şərti fərqli olaraq, burada dəyişən sayı 1, 0 var.

General tövsiyələr

Daimi ifadə kodu asanlaşdırır, lakin vaxt tez-tez bir fərq edir inkişaf. Siz daha mürəkkəb ifadələr daxil birləşdirmək edilən sonra sadə dizayn ilə başlaya bilərsiniz. Siz normal ifadeler və ya xüsusi yerli alətlər test müxtəlif online xidmətlərindən istifadə edə bilərsiniz.

ən yaxşı seçim normal ifadeler öz kitabxana və yeni inkişafları test öz alətləri yaradacaq. Bu təcrübə gücləndirmək və tez etibarlı və rahat dizayn yaratmaq üçün necə öyrənmək üçün ən yaxşı yoldur.

təkrar sayı sadəlik və məqsədəuyğunluq prinsiplərinə rəhbər olmalıdır ifadə edən simvollar və strings ki, xüsusi simvol '*', '+' və aşırma təkrar istifadə. Onun iş başında müntəzəm ifadə ki, həyata, və nəticə browser istifadə mühərrik gücü tamamilə almaq üçün vacibdir. Bütün dillər JavaScript bərabər. Hər browser öz gətirə bilər şəxsi üstünlükləri normal ifadeler şərh.

Uyumluluk normal ifadeler, bu da nə var, yalnız pages və stillər var. səhifə JavaScript, bir uğurla brauzerlər bir sıra işləmişdir yalnız yaxşı işləyən hesab edilə bilər istifadə edir.

JavaScript, String və regexp

JavaScript ziyarətçinin brauzerində edir müştəri səviyyədə doğru iş, bu geliştirici yüksək bacarıq tələb edir. kifayət qədər uzun JavaScript-kodu browser öz vəsaitləri və ya üçüncü tərəf uzantıları, kodu redaktorları, müstəqil proqramların köməyi ilə debug imkanı var.

Lakin, bütün hallarda, ayıklama idarə və darboğazlar aşkar geliştirici, sürətli səhv aşkarlanması üçün yaxşı dəstək təmin edə bilər. dəfə kompüter uzaq keçmişdə, hesablamalar diqqət edildiyi. informasiya və xətt obyektlərin əhəmiyyətli rol oynamaq gəldik İndi xüsusi diqqət yetirirlər. polad strings sayı, və onların əsl təbiəti yalnız doğru zamanda və doğru yerdə açıq-aşkar.

Daimi ifadələr xətləri imkanı gücləndirmək, lakin özünə hörmət tələb edir. Debug regexp əsərində mümkün olsa da, çox maraqlı deyil fikir simülasyonu üçün.

əsl təhlükəsiz və təhlükəsiz kodu hər səhifədə sabit əməliyyat və bütövlükdə saytı - obyekt String, sintaksis və JavaScript semantika, yəni regexp obyekt strukturu və məntiq Anlaşma.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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