2018. augusztus 14., kedd

Reguláris kifejezés: Az URL abszolút hivatkozás?

Reguláris kifejezéssel általában így szoktam tesztelni, hogy egy URL abszolút hivatkozás-e:
^((https?):)?//

A fenti kifejezés illeszkedik az alábbiakra:
http://www.example.com
https://www.example.com
//www.example.com
http://example.com
https://example.com
//example.com

De nem illeszkedik például az alábbiakra:
assets/page.js
/relative-from-document-root/assets/page.js


Magyarázat:
  • A szöveg elejére nézi az illeszkedést a "^" karakter
  • A szöveg elején 0 vagy egyszer szerepelhet a "https" karaktersorozat, amelyben az "s" karakter 0 vagy egyszer fordulható elő a "http" szöveg után
  • Az illeszkedő "http" vagy "https" szöveget követni kell egy ":" karakternek
  • Ha van illeszkedő "http:" vagy "https:" karaktersorozat a szöveg elején, akkor ezek 0 vagy egyszer fordulhatnak elő ("((https?):)?")
  • Ha volt protokoll illeszkedés, akkor utána legyen egy "//" karaktersorozat, vagy protokoll nélküli feltüntetés esetén a szöveg azonnal a "//" karaktersorozattal kezdődjön

www kiegészítés

Ha szükséges a "www." előtagra való illeszkedés is, akkor a fenti kifejezés kibővül az alábbira:
^((https?):)?//(www.)?


Használjátok egészséggel!

Nincsenek megjegyzések:

Megjegyzés küldése