Anasayfa » Kodlama » Web Geliştiricileri için 30 Faydalı Regex Kodu Parçacığı

    Web Geliştiricileri için 30 Faydalı Regex Kodu Parçacığı

    Düzenli ifadeler, her geliştiricinin alet kemerinde olması gereken güçlü bir araçtır. Dinamik web siteleri oluştururken çok fazla zaman kazandırabilen çok karmaşık parametrelere dayanan bir karakter dizisiyle eşleşebilirler..

    Web geliştiricileri, yazılım geliştiricilerden farklı görevlerle karşı karşıya kalır, ancak aynı kod temellerinin çoğu kalır. Normal ifadeler (veya regex) var bir dik başlangıç ​​öğrenme eğrisi, ama olabilirler Doğru kullanıldığında çok güçlü.

    En zor kısım, sözdizimini öğrenmek ve kendi regex kodunuzu sıfırdan yazmayı öğrenmek. Zaman kazanmak için geliştirme projelerine dahil edebileceğiniz 30 farklı regex kod parçacığı organize ettim. Regex tek bir dille sınırlı olmadığından, bu snippet'leri herhangi bir şeye uygulayabilirsiniz. JavaScript için PHP veya piton.

    1. Parola Gücü

    ^ (? =. * [AZ]. * [AZ]) (? =. * [! @ # $ & *]) (? =. * [0-9]. * [0-9]) (? = . * [az]. * [az]. * [az]). 8 $

    Bir şifrenin gücünü kontrol etmek genellikle özneldir, bu nedenle kesin bir cevap yoktur. Ancak, sıfırdan kendi parola gücü denetleyicinizi yazmak istemiyorsanız, bu regex pasajının harika bir başlangıç ​​noktası olduğunu düşünüyorum. (Kaynak)

    2. Onaltılık Renk

    \ # ([a-fA-F] | [0-9]) 3, 6

    Web geliştirme alanı altıgen renk kodları ile her yerde. Bu regex snippet'i, herhangi bir amaç için herhangi bir dizgeden hex kodu eşleşmelerini çekmek için kullanılabilir. (Kaynak)

    3. E-posta Adresini Doğrulayın

    /[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]2,4/igm

    Bir geliştiricinin en yaygın görevlerinden biri, bir dizginin e-posta adresi tarzında biçimlendirilip biçimlendirilmediğini kontrol etmektir. Bu görevi gerçekleştirmek için birçok farklı varyasyon vardır, bu nedenle bu SitePoint bağlantısı bir dizeye karşı e-posta sözdizimini kontrol etmek için iki farklı kod parçası sunar. (Kaynak)

    4. IPv4 Adresi

    /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)3 (:? 25 [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9]) \ b /

    Bir e-posta adresine benzer şekilde, Internet'e erişen belirli bir bilgisayarı tanımlamak için kullanılan tipik IP adresidir. Bu normal ifade, IPv4 adres sözdizimini takip edip etmediğini görmek için bir dize denetler. (Kaynak)

    5. IPv6 Adresi

    (([0-9A-fA-F] 1,4) 7,7 [0-9A-fA-F] 1,4 | ([0-9A-fA-F] 1 , 4) 1,7: (| [0-9A-fA-F] 1,4) 1,6 [0-9a-fA-F] 1,4 | ([0-9A-fA-F] 1,4) 1,5 ([0-9a-fA-F] 1,4) 1,2 | ([0-9a fA-F] 1,4) 1,4 ([0-9a-fA-F] 1,4) 1,3 | ([0-9A-fA-F] 1,4) 1,3 ([0-9a-fA-F] 1,4) 1,4 | ([0-9A-fA-F] 1,4 :) 1,2 ([0-9a-fA-F] 1,4) 1,5 | [0-9A-fA-F] 1,4: (([0 9a-fA-F] 1,4) 1,6) |: (([0-9A-fA-F] 1,4) 1,7 |:) | fe80: ([0-9a-fA-F] 0,4) 0,4% [0-9A-za-z], 1, |: :( ffff (0 1,4) 0,1) 0,1 ((25 [0-5] | (2 [0-4] | 1 0,1 [0-9]) 0,1 [0-9 ]) \) 3,3 (25 [0-5] |. (2 [0-4] | 1 0,1 [0-9]) 0,1 [0-9]) | ([0-9A-fA-F] 1,4) 1,4: ((25 [0-5] | (2 [0-4] | 1 0,1 [0-9 ]) 0,1 [0-9]) \) 3,3 (25 [0-5] |. (2 [0-4] | 1 0,1 [0-9])  0,1 [0-9]))

    Alternatif olarak, bu daha gelişmiş regex pasajıyla daha yeni bir IPv6 sözdizimi için bir adres kontrol etmek isteyebilirsiniz. Aradaki fark gelişim sırasında hayati olsa da küçüktür. (Kaynak)

    6. Binlerce Ayırıcı

    / \ D 1,3 (? = (\ D 3) + (? \ D)) / g

    Geleneksel numaralandırma sistemleri, her üçüncü hane daha büyük bir sayıdaki virgül, nokta veya başka bir işaret gerektirir. Bu regex kodu herhangi bir sayı üzerinde çalışır ve seçtiğiniz her üçüncü basamağa binlerce, milyona vb. Ayıran herhangi bir işareti uygular. (Kaynak)

    7. Köprü Bağımlı HTTP

    if (! s.match (/ ^ [a-zA-Z] +: \ / \ //)) s = 'http: //' + s; 

    JavaScript, Ruby veya PHP'de çalışıyor olsanız da, bu normal ifade çok yardımcı olabilir. Bir HTTP / HTTPS öneki olup olmadığını görmek için herhangi bir URL dizesini kontrol eder ve uygun değilse hazırlayın. (Kaynak)

    8. Domain’i URL’den çekin

    /https?:\/\/(?:[-\w]+\.)?([-\w]+)\.\w+(?:\.\w+)?\/?.*/i

    Her web sitesi etki alanı ilk protokolü (HTTP veya HTTPS) ve genellikle bir alt etki alanı ve ek sayfa yolunu içerir. Bunları kesmek ve fazladan fırfırlar olmadan sadece alan adını döndürmek için bu pasajı kullanabilirsiniz. (kaynağıyla

    9. Anahtar Kelimeleri Sözcük Sayısına Göre Sırala

    ^ [^ \ s] * $, tam olarak 1 kelimelik bir anahtar kelimeyle eşleşir ^ [^ \ s] * \ s [^ \ s] * $, tam olarak 2 kelimelik anahtar kelimeyle eşleşir ^ [^ \ s] * \ s [^ \ s] * en az 2 kelimeden oluşan anahtar kelimelerle eşleşir (2 veya daha fazla) ^ ([^ \ s] * \ s) 2 [^ \ s] * $, tam olarak 3 kelimeli anahtar kelimeyle eşleşir ^ ([^ \ s] * \ s ) 4 [^ \ s] * $, 5 kelimelik ve daha fazla anahtar kelimeyle eşleşir (longtail)

    Google Analytics ve Web Yöneticisi Araçları kullanıcıları bu normal ifadeden gerçekten keyif alacaklardır. Anahtar kelimeleri aramada kullanılan kelime sayısına göre sıralayabilir ve düzenleyebilir.

    Bu sayısal olarak spesifik olabilir (yani yalnızca 5 kelime) veya bir dizi kelimeyle eşleşebilir (yani 2 veya daha fazla kelime). Analitik verilerini sıralamak için kullanıldığında, bu güçlü bir ifadedir. (Kaynak)

    10. PHP'de Geçerli Bir Base64 Dizesi Bulun

    \? php [\ t] eval \ (base64_decode \ (\ '(([A-Za-z0-9 + /] 4) *) [[A-Za-z0-9 + /] 3 = | [A-Za-Z0-9 + /] 2 ==)) 1 \ '\) \) \;

    Eğer bir PHP dev iseniz, o zaman bir noktada Base64 ile kodlanmış ikili nesneleri arayan kod ile ayrıştırmanız gerekebilir. Bu kod parçası tüm PHP kodlarına uygulanabilir ve mevcut Base64 dizgilerini kontrol eder. (Kaynak)

    11. Geçerli Telefon Numarası

    ^ \ +? \ d 1,3? [-.]? \ (? (?: \ d 2,3) \)? [-.]? \ d \ d [-.]? \ d \ d \ d \ d $

    Kısa, tatlı ve anlamlı. Bu regex kodu, öncelikle Amerikan telefon numaraları stiline dayanan herhangi bir geleneksel telefon numarası sözdizimini doğrular..

    Bu oldukça karmaşık bir konuya dönüşebileceğinden, daha ayrıntılı cevaplar için bu Yığın ipliğini gözden geçirmenizi tavsiye ederim. (Kaynak)

    12. Önde Gelen ve İzleyen Beyaz Alan

    ^ [\ s] + | [\ s] + $

    Öndeki / sondaki boşlukları bir dizeden çıkarmak için bu kod pasajını kullanın. Bu önemli bir şey olmayabilir, ancak bazen veritabanından çekildiğinde veya başka bir belge kodlamasına uygulandığında çıktıyı etkileyebilir. (Kaynak)

    13. Görüntü Kaynağını Çekin)

    \< *[img][^\>] * [src] * = * [\ "\ '] 0,1 ([^ \" \' \>] *)

    Bazı nedenlerden dolayı görüntünün kaynağını doğrudan HTML'den çıkarmanız gerekirse, bu kod pasajı mükemmel bir çözümdür. Arka ucunda düzgün çalışabilmesine rağmen, ön uç JS devs bunun yerine ön uç için jQuery's .attr () yöntemine dayanmalıdır. (Kaynak)

    14.GG / AA / YYYY Formatında Tarihi Doğrulayın

    ^ (:( ?: 31 (\ / | - |.? \) (?: 0 [13.578] | 1 [02])) | (? :( ?: 29 | 30) \ 1 (\ / | - | \) (?: 0 [1,3-9] |.? 1 [0-2]) \ 2)) (:( ?: 1 [6-9] |? [2-9] \ d)? \ d 2) $ | ^ (?: 29 (\ / | - |. \)?? 0 2 \ 3 (:( :( ?: 1 [6-9] | [2-9] \ d ) (?: 0 [48] |? [2468] [048] | [13579] [26]) (| :( ?: 16 |? [2468] [048] | [3579] [26]) 00)) )) $ | ^ (?: 0 [1-9] | 1 \ d | 2 [0-8]) (\ / | - |.? \) (:( ?: 0 [1-9]) | (: 1: [0-2])?) \ 4 (:( ?: 1 [6-9] | [2-9] \ d) \ d 2) $

    Tarihler zor çünkü metin + sayılar olarak veya farklı biçimlerde sayılar olarak görünebilirler. PHP'nin harika bir tarih işlevi vardır, ancak ham dizge çekerken bu her zaman en iyi seçenek değildir. Bunun yerine, bu belirli tarih sözdizimi için yapılan bu normal ifadeyi kullanmayı düşünün. (Kaynak)

    15. YouTube Video Kimliği Eşleşmesi

    /http:\/\/(?:youtu\.be\/|(?:[az]2,3\.)?youtube\.com\/watch(?:\?|#\!)v =) ([\ w -]. 11) * / gi

    YouTube sadece çalıştığı için yıllarca aynı URL yapısını korudu. Aynı zamanda web üzerindeki en popüler video paylaşım sitesidir, bu nedenle YouTube videoları en fazla trafik çekmeye meyillidir.

    Bir URL’den bir YouTube video kimliği çıkarmanız gerekirse, bu regex kodu mükemmeldir ve YouTube URL yapılarının tüm varyantları için mükemmel bir şekilde çalışması gerekir. (Kaynak)

    16. Geçerli ISBN

    / \ b (?: ISBN (? ::? |))? ((?? 97 [89])? \ d 9 [\ dx]) \ b / i

    Basılı kitaplar, ISBN olarak bilinen bir numaralandırma sistemini takip eder. ISBN-10 ile ISBN-13 arasındaki farkları göz önüne aldığınızda bu oldukça zor olabilir..

    Ancak bu inanılmaz snippet, bir ISBN numarasını doğrulamanıza ve ISBN 10 veya 13 olup olmadığını kontrol etmenize olanak tanır. Tüm kodlar PHP ile yazılmıştır, bu nedenle web geliştiricileri için son derece yararlı olduğunu kanıtlamalıdır. (Kaynak)

    17. Posta Kodunu Kontrol Edin

    ^ \ D 5 (: [- \ s] \ d 4)? $

    Bu snippet'in yaratıcısı yalnızca eserini ücretsiz olarak yayınlamakla kalmadı, aynı zamanda açıklamak için zaman aldı. Bu pasajı, 5 basamaklı tipik bir posta kodu veya daha uzun 9 basamaklı sürümle eşleştirip eşleştirmeyeceğiniz konusunda kullanışlı bulacaksınız.

    Bunun öncelikle Amerikan posta kodları sistemi için geçerli olduğunu ve bu nedenle diğer ülkeler için ayarlamalar gerektirebileceğini unutmayın. (Kaynak)

    18. Geçerli Twitter

    / @ ([A-Za-Z0-9 _] 1,15) /

    İşte bir dizede bulunan Twitter kullanıcı adlarıyla eşleşecek çok küçük bir kod pasajı. Kontrol eder @Anma Bir tweet'in (veya bir tweet'in) içeriğini otomatik olarak taramak için mükemmel olan sözdizimi. (Kaynak)

    19. Kredi Kartı Numaraları

    ^ (?: 4 [0-9] 12 (: [0-9] 3) | 5 [1-5] [0-9] 14 | 6 (:? 011 | 5 [ 0-9] [0-9]) [0-9] 12 | 3 [47] [0-9] 13 | 3 (: = 0 [0-5] | [68] [0-9 ]) [0-9] 11 | (: 2131 | 1800 | 35 \ d 3) \ d 11) $

    Kredi kartı numarasının doğrulanması genellikle çevrimiçi ortamda başka bir yerde barındırılan güvenli bir platform gerektirir. Ancak regex, tipik bir kredi kartı numarasının asgari gereksinimleri için kullanılabilir..

    Tek tek kartlar için daha kapsamlı bir kod listesi burada bulunabilir. Buna Visa, MasterCard, Discover ve diğerleri de dahildir. (Kaynak)

    20. CSS Niteliklerini Bul

    ^ \ S * [a-z-Z \ -] + \ s * [:] 1 \ s [. A-z-0-9 \ s #] + [], 1

    CSS üzerinden regex çalıştırmak nadir olabilir, ancak bu çok garip bir durum değil.

    Bu kod pasajı, her bir CSS özelliğini ve değeri seçiciden ayırmak için kullanılabilir. Herhangi bir nedenden dolayı, muhtemelen CSS parçalarını görüntülemek veya yinelenen özellikleri kaldırmak için kullanılabilir. (Kaynak)

    21. Strip HTML Yorumları

    Herhangi bir nedenle, bir HTML bloğundaki tüm yorumları kaldırmanız gerekirse, bu kullanılacak regex kodudur. İfadesi ile birlikte preg_replace kullanarak bir PHP örneği bulacaksınız. (Kaynak)

    22. Facebook Profil URL'si

    /(?:http:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w)*#!\/)?(?:pages\/)? (: [\ \ k -] * \ /) * ([\ \ k -] *) /

    Facebook inanılmaz popüler ve birçok farklı URL programından geçti. Kullanıcılardan profil URL’leri aldığınız bir durumda, dizeleri ayrıştırıp düzgün yapılandırıldığını doğrulamak yardımcı olabilir. Bu pasaj tam olarak bunu yapabilir ve tüm FB tarzı bağlantılar için mükemmeldir. (Kaynak)

    23. Internet Explorer sürümünü kontrol edin

    ^. * MSIE [5-8] (?: \. [0-9] +)? (?!. * Trident \ / [5-9] \. 0). * $

    Microsoft'un Edge'e geçişi oybirliği ile karşılanmamıştır ve birçok kişi hala klasik Internet Explorer'a güvenmektedir. Geliştiricilerin genellikle işleme motorlarındaki tutarsızlıkları ele almak için IE sürümlerini kontrol etmesi gerekir..

    Bu kod parçası, Internet Explorer'ın hangi sürümünün (5-11) kullanıldığına bağlı olarak bir tarayıcı aracısını test etmek için JavaScript'te kullanılabilir. (Kaynak)

    24. Fiyatı Al

    /(\$[0-9,]+(\.[0-9]2)?)/

    Fiyatlandırma, ondalık sayılar, virgüller ve para birimi simgeleri içeren çeşitli biçimlerde gelir. Bu normal ifade, herhangi bir dizgiden fiyat çıkarmak için tüm bu farklı biçimleri kontrol edebilir. (Kaynak)

    25. Ayrıştırma E-posta Başlığı

    /\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]2,6\b/i

    Bu tek kod satırıyla, bir e-posta üstbilgisinden ayrılmak için ayrıştırabilirsiniz. “için” başlıktan bilgi. Bir araya getirilen çoklu e-postalar ile birlikte kullanılabilir..

    Bu görev için regex'ten kaçınmayı tercih ederseniz, bunun yerine bir ayrıştırma kütüphanesine güvenebilirsiniz. (Kaynak)

    26. özel bir filetype eşleştir

    /^(.*\.(?!(htm|html|class|js)$))?[^.]*$/i

    .Xml, .html ve .js gibi çeşitli dosya biçimleriyle ilgilenirken, dosyaları hem yerel olarak hem de kullanıcılar tarafından yüklenenleri kontrol etmeye yardımcı olabilir. Bu kod parçası, gerektiğinde değiştirilebilir bir dizi geçerli uzantıdan geçerli olup olmadığını kontrol etmek için bir dosya uzantısı çeker. (Kaynak)

    27. bir URL dizesini eşleştirin

    /[-a-zA-Z0-9@:%_\+.~#?&//=]2,256\.[az]2,4\b(\/[-a-zA-Z0 -9 @.?% _ \ + ~ # & // =] *) / gi

    Bu kod parçacığı, metnin geleneksel TLD etki alanı sözdizimiyle eşleşip eşleşmediğini kontrol etmek için hem HTTPS hem de HTTP dizeleri için kullanılabilir. JavaScript'in RegExp'i kullanarak bu regex'in basit bir uygulaması da var. (Kaynak)

    28. rel = rel =”takip etme” Linklere

    (] *) (href = "https?: //) ((?! (?: (?: www \.)? '. implode (' | (?: www \.)? ', $ follow_list).') ?!.) [^ "] +)" ((* \ brel =) [^>] *) (?: [^>] *)>

    Bir yığın HTML kodu ile çalışıyorsanız, el emeğini tekrarlayan görevlere uygulamak korkunç olabilir. Normal ifadeler bu durum için mükemmeldir ve çok zaman kazandıracak.

    Bu kod parçası, tüm bağlantı linklerini bir HTML bloğundan çekebilir ve rel =”takip etme” her elementin niteliği. Bu kodu yazan geliştirici ham ifadeyi ve PHP'de çalışan bir örneği yayınlayacak kadar kibardı..

    29. Medya Sorgu Eşleşmesi

    / @ Ortamı ([^ ] +) \ ([\ s \ S] +?) \ S * / g

    CSS medya sorgularını parametrelerine ve özelliklerine ayırın. Bu, harici CSS'yi, kodun nasıl çalıştığına daha doğrudan odaklanarak daha temiz bir şekilde analiz etmenize yardımcı olabilir. (Kaynak)

    30. Google Arama Sözdizimi

    /(🌼+- Size?(?:'.+?'|".+?"|Г^+\-] 1 [^] *)) / g

    Google'ın ticari marka sözdizimini kullanarak aranabilir metni işlemek için kendi regex kodunuzu oluşturabilirsiniz. Artı işareti (+) ek anahtar kelimeleri, eksi işareti (-) ise yok sayılması ve sonuçlardan çıkarılması gereken kelimeleri belirtir..

    Oldukça karmaşık bir snippet, ancak doğru kullanıldığında, kendi arama algoritmanızı oluşturmak için bir temel oluşturabilir. (Kaynak)

    Sarmak

    Düzenli ifade ustalığına giden yol uzundur, ancak buna bağlı kalırsanız ödüllendiricidir. Tipik regex araçlarının ötesinde, çalışmanın en iyi yolu tekrarlamadır. Gerçek işleyen bir web uygulamasında nasıl çalıştıklarını öğrenmek için bu regex snippet'lerine dayanan web uygulamaları oluşturmayı deneyin. Ve önerecek başka pasajlarınız varsa, bunları aşağıdaki yorum alanına gönderebilirsiniz..

    Şimdi Oku:

    Her Tasarımcının Sahip Olması Gereken 50 Faydalı CSS Parçası