Úvodná » kódovanie » 30 Užitočné úryvky kódu Regex pre vývojárov webu

    30 Užitočné úryvky kódu Regex pre vývojárov webu

    Pravidelné výrazy sú silným nástrojom, ktorý by mal byť v každom vývojovom nástroji. Môžu sa zhodovať s reťazcom znakov na základe veľmi zložitých parametrov, čo vám môže ušetriť veľa času pri budovaní dynamických webových stránok.

    Weboví vývojári čelia rôznym úlohám ako vývojárom softvéru, ale mnohé z tých istých základov kódu zostávajú. Pravidelné výrazy (alebo regex) majú strmá počiatočná krivka učenia, ale môžu byť mimoriadne výkonný pri správnom používaní.

    Najprísnejšou časťou je učenie sa syntaxe a učenie, ako napísať vlastný regex kód od začiatku. Ak chcete ušetriť čas, zorganizoval som 30 rôznych úryvkov kódu regexu, ktoré môžete začleniť do vývojových projektov. A keďže regex nie je obmedzený na jediný jazyk, môžete použiť tieto úryvky na čokoľvek JavaScript na PHP alebo krajta.

    1. Pevnosť hesla

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

    Kontrola sily hesla je často subjektívne, takže neexistuje absolútna správna odpoveď. Cítim však, že tento úryvok regexu je skvelým východiskovým bodom, ak nechcete, aby ste od začiatku napísali vlastnú kontrolu platnosti hesla. (Zdroj)

    2. Hexadecimal Color

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

    Oblasť vývoja webu je všadeprítomná s hexadecimálnymi farebnými kódmi. Tento útržok regexu možno použiť na stiahnutie šifrovacích kódov z akéhokoľvek reťazca na akýkoľvek účel. (Zdroj)

    3. Overte e-mailovú adresu

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

    Jednou z najbežnejších úloh vývojára je skontrolovať, či je reťazec formátovaný v štýle e-mailovej adresy. Existuje veľa rôznych variantov na splnenie tejto úlohy, takže tento odkaz SitePoint ponúka dva odlišné útržky kódu pre kontrolu syntaxe e-mailu proti reťazcu. (Zdroj)

    4. Adresa IPv4

    /\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 /

    Podobne ako e-mailová adresa je typická adresa IP používaná na identifikáciu konkrétneho počítača s prístupom na internet. Tento regulárny výraz skontroluje reťazec a zistí, či sleduje syntax adresy IPv4. (Zdroj)

    5. Adresa IPv6

    (([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]))

    Prípadne môžete skontrolovať adresu pre novšiu syntax IPv6 s týmto pokročilejším útržkom regexu. Rozdiel je malý, hoci životne dôležitý počas vývoja. (Zdroj)

    6. Tisíce separátorov

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

    Tradičné systémy číslovania vyžadujú čiarku, časový údaj alebo inú značku na každú tretiu číslicu vo väčšom počte. Tento kód regexu funguje na ľubovoľnom počte a bude používať akúkoľvek značku, ktorú vyberiete, na každú tretiu číslicu oddeľujúcu na tisíce, milióny atď. (Zdroj)

    7. Prepnite HTTP na hypertextové prepojenie

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

    Či už pracujete v jazyku JavaScript, Ruby alebo PHP, tento regulárny výraz sa môže ukázať ako veľmi užitočný. Kontroluje akýkoľvek reťazec adresy URL, aby zistil, či má predponu HTTP / HTTPS, a ak nie, predpoveď podľa toho. (Zdroj)

    8. Vytiahnite doménu z adresy URL

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

    Každá doména webových stránok obsahuje počiatočný protokol (HTTP alebo HTTPS) a často subdoménu plus ďalšiu cestu stránky. Tento úryvok môžete použiť na to, aby ste prerušili všetko a vrátili ste len názov domény bez ďalších ozdôb. (SourceL

    9. Triediť kľúčové slová podľa počtu slov

    ^ [^ \ s] * $ zodpovedá presne jednému slovu kľúčové slovo ^ [^ \ s] * \ s [^ \ s] * $ zodpovedá presne 2-slovo keyword ^ [^ \ s] * \ s [^ \ * zodpovedá kľúčovým slovám minimálne 2 slová (2 a viac) ^ ([^ \ s] * \ s) 2 [^ \ s] * $ zodpovedá presne 3-slovovému kľúčovému slovu ^ ([^ \ s] * \ s ) 4 [^ \ s] * $ sa zhoduje s kľúčovými slovami s 5 slovami a viac (longtail)

    Užívatelia nástrojov Google Analytics a Nástrojov správcu webu sa naozaj budú tešiť z tohto regulárneho výrazu. Môže zoradiť a usporiadať kľúčové slová na základe počtu slov používaných vo vyhľadávaní.

    Môže to byť číselne špecifické (t. J. Iba 5 slov) alebo sa môže zhodovať s rozsahom slov (t. J. 2 alebo viacerými slovami). Pri triedení analytických údajov je to jeden silný výraz. (Zdroj)

    10. Nájdite platný reťazec Base64 v PHP

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

    Ak ste PHP dev potom v určitom momente budete musieť analyzovať kód hľadajúci zakódované binárne objekty Base64. Tento úryvok môže byť použitý na celý kód PHP a skontroluje existujúce reťazce Base64. (Zdroj)

    11. Platné telefónne číslo

    \ a \ d 1, 3 a [-.] a \ (a (a: \ d 2,3 \ d \ d \ d \ d $

    Krátka, sladká a do bodu. Tento kód regexu overí akékoľvek tradičné syntax telefónnych čísel založený predovšetkým na americkom štýle telefónnych čísel.

    Vzhľadom na to, že sa to môže zmeniť na pomerne komplikovaný predmet, odporúčam skĺznuť tento Thread Thread pre podrobnejšie odpovede. (Zdroj)

    12. Vedúci a koncový biely priestor

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

    Tento útržok kódu použite na vytiahnutie predného / koncového medzera z reťazca. To nemusí byť veľké riešenie, ale niekedy môže ovplyvniť výstup, keď je vytiahnutý z databázy alebo použitý na iné kódovanie dokumentu. (Zdroj)

    13. Vytiahnite zdroj obrazu)

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

    Ak z nejakého dôvodu potrebujete vytiahnuť zdroj obrazu priamo z HTML, tento útržok kódu je dokonalým riešením. Hoci to môže plynúť hladko na backend, frontend JS devs by sa namiesto toho spoliehať na jQuery metóda .attr () pre frontend. (Zdroj)

    14. Overenie dátumu vo formáte DD / MM / RRRR

    ^ (:(?: 31 (\ / | - |?.? \) (?: 0 [13578] | 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) $

    Termíny sú zložité, pretože sa môžu zobraziť ako text + čísla alebo rovnako ako čísla s rôznymi formátmi. PHP má fantastickú funkciu dátumu, ale to nie je vždy tá najlepšia voľba pri ťahaní surového reťazca. Namiesto toho zvážte použitie tohto regulárneho výrazu vytvoreného pre túto konkrétnu syntax dátumov. (Zdroj)

    15. Match ID videa v službe YouTube

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

    Služba YouTube zachovala rovnakú štruktúru adries URL už niekoľko rokov, pretože funguje. Je to aj najobľúbenejšia stránka na zdieľanie videa na webe, takže videá YouTube majú tendenciu priniesť najväčšiu návštevnosť.

    Ak potrebujete vytiahnuť ID videa YouTube z adresy URL, tento regex kód je dokonalý a mal by fungovať perfektne pre všetky varianty štruktúr URL adries YouTube. (Zdroj)

    16. Platný ISBN

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

    Tlačené knihy používajú systém číslovania známy ako ISBN. To môže byť dosť zložité, keď zoberiete do úvahy rozdiely medzi ISBN-10 a ISBN-13.

    Tento neuveriteľný úryvok vám však umožňuje overiť číslo ISBN a skontrolovať, či je to ISBN10 alebo 13. Všetok kód je napísaný v PHP, takže by to mal byť výnimočne užitočný pre webových vývojárov. (Zdroj)

    17. Skontrolujte PSČ

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

    Tvorca tohto fragmentu nielenže uvoľnil svoju prácu zadarmo, ale tiež si vysvetlil. Tento útržok vám pomôže, či zodpovedáte typickému 5-miestnemu PSČ alebo dlhšej 9-miestnej verzii.

    Majte na pamäti, že je to predovšetkým určené pre americký systém PSČ, takže to môže vyžadovať úpravy pre iné krajiny. (Zdroj)

    18. Platné používateľské meno v službe Twitter

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

    Tu je veľmi malý útržok kódu, ktorý sa hodí na porovnanie s používateľskými menami v službe Twitter, ktoré sa nachádzajú v reťazci. Kontroluje @mention syntax, ktorý je ideálny pre automatické skenovanie obsahu tweet (alebo tweets). (Zdroj)

    19. Čísla kreditných kariet

    ^ (?: 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) $

    Overenie čísla kreditnej karty často vyžaduje bezpečnú platformu hosťovanú inde na internete. Regex sa však môže použiť na minimálne požiadavky na typické číslo kreditnej karty.

    Podrobnejší zoznam kódov jednotlivých kariet nájdete tu. Patria sem Visa, MasterCard, Discover a mnoho ďalších. (Zdroj)

    20. Nájdite atribúty CSS

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

    Je pravdepodobné, že bežať regex cez CSS, ale nie je to ani neuveriteľne zvláštna situácia.

    Tento útržok kódu sa môže použiť na vytiahnutie každej zodpovedajúcej vlastnosti a hodnoty CSS z jednotlivých výberov. Môže byť použitý z ľubovoľného počtu dôvodov, napríklad pri prezeraní kúskov CSS alebo odstránení duplicitných vlastností. (Zdroj)

    21. Strip HTML Komentáre

    Ak z nejakého dôvodu potrebujete odstrániť všetky komentáre z bloku HTML, ide o regex kód, ktorý chcete použiť. Spolu s výrazom nájdete príklad PHP pomocou príkazu preg_replace. (Zdroj)

    22. URL profilu na Facebooku

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

    Facebook je neuveriteľne populárny a prešiel mnohými rôznymi schémami adries URL. V situácii, keď používate adresy URL profilov od používateľov, môže byť užitočné analyzovať reťazce a potvrdiť, že sú štruktúrované správne. Tento úryvok môže robiť presne to a je ideálny pre všetky odkazy v štýle FB. (Zdroj)

    23. Skontrolujte verziu programu Internet Explorer

    MSIE [5-8] (a: [0-9] +) ô (a) * Trident \ / [5-9] \.

    Prechod Microsoftu na Edge nebol jednomyseľný a mnohí ľudia sa stále spoliehajú na klasický Internet Explorer. Vývojári často potrebujú skontrolovať, či verzie IE zvládnu nezrovnalosti s vykresľovacími motormi.

    Tento útržok sa môže použiť v jazyku JavaScript na otestovanie agenta prehliadača na základe použitej verzie programu Internet Explorer (5-11). (Zdroj)

    24. Cena výpisu

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

    Ceny sú dostupné v rôznych formátoch, ktoré obsahujú desatinné miesta, čiarky a menové symboly. Tento regulárny výraz môže skontrolovať všetky tieto rôzne formáty, aby si vybral cenu z akéhokoľvek reťazca. (Zdroj)

    25. Záhlavie parse e-mail

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

    Pomocou tohto jediného riadka kódu môžete analyzovať záhlavie e-mailu, ktoré môžete vytiahnuť “na” informácie z hlavičky. Môže sa použiť v tandeme s viacerými e-mailmi spojenými.

    Ak sa chcete vyhnúť regexu pre túto úlohu, namiesto toho sa môžete spoľahnúť na knižnicu analýzy. (Zdroj)

    26. Priraďte konkrétny typ súboru

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

    Keď sa zaoberáte rôznymi formátmi súborov, ako sú .xml, .html a .js, môže to pomôcť skontrolovať súbory lokálne aj nahrané používateľmi. Tento úryvok ťahá príponu súboru a skontroluje, či je platný zo série platných rozšírení, ktoré sa podľa potreby môžu zmeniť. (Zdroj)

    27. Zhoda reťazca URL

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

    Tento útržok sa môže použiť aj pre reťazce HTTPS a HTTP, aby sa skontrolovalo, či sa text zhoduje s tradičnou syntaxou domény TLD. Existuje tiež jednoduchá implementácia tohto regexu pomocou RegExp jazyka JavaScript. (Zdroj)

    28. Pridajte rel =”nofollow” na odkazy

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

    Ak pracujete s dávkou kódu HTML, môže sa stať, že manuálne pracujete s opakovanými úlohami. Pravidelné výrazy sú pre túto príležitosť dokonalé a ušetria veľa času.

    Tento útržok môže vytiahnuť všetky kotviace odkazy z bloku HTML a pridať ho rel =”nofollow” atribút každému prvku. Vývojár, ktorý napísal tento kód, bol natolik láskavý na to, aby publikoval surový výraz a pracovný príklad v PHP.

    29. Match Media match

    / @ Médiá ([^ ] +) \ ([\ s \ S] +?) \ S * / g

    Oddeľte CSS mediálne dotazy do ich parametrov a vlastností. To vám môže pomôcť analyzovať externé CSS čistejším spôsobom s priamym zameraním na fungovanie kódu. (Zdroj)

    30. Syntax vyhľadávania Google

    /([++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |

    Môžete si vytvoriť vlastný kód regexu na manipuláciu s vyhľadávaným textom pomocou syntaxe ochranných známok spoločnosti Google. Znak plus (+) označuje ďalšie kľúčové slová a znak mínus (-) označuje slová, ktoré by sa mali ignorovať a odstrániť z výsledkov.

    Je to pomerne zložitý úryvok, ale správne použitý, môže poskytnúť základňu pre vytvorenie vlastného vyhľadávacieho algoritmu. (Zdroj)

    Zabaliť

    Cesta k zvládnutiu regexu je dlhá, ale obohacujúca, ak sa na ňu držíte. Okrem typických nástrojov regexu je najlepším spôsobom štúdia opakovanie. Skúste vytvoriť webové aplikácie, ktoré sa spoliehajú na tieto útržky regex, aby ste sa dozvedeli, ako fungujú v skutočne fungujúcej webovej aplikácii. A ak máte iné úryvky, ktoré vám navrhnú, môžete ich uverejniť v oblasti poznámok nižšie.

    Teraz čítaj:

    50 Užitočné CSS úryvky Každý návrhár by mal mať