logo

Hogyan kaphatunk domain nevet az URL-ből JavaScriptben

Mi az URL?

A URL egy másik neve a webcím . Például egy szóalapú URL a Javapoint.com. A URL IP-címmel is létrehozható (pl. 192.168.2.24 ). A legtöbb fogyasztó megadja a név címét az online keresés során, mert a neveket könnyebb megjegyezni, mint a számokat.

A webböngészők használják URL-ek hogy bizonyos oldalakat kérjen a webszerverektől. Az alábbiakban felsoroljuk a Az URL szintaxisa és formátum .

Szintaxis

 Scheme://prefix.domain:port/path/filename 

Paraméterek

Rendszer-

Az internetszolgáltatás típusa meg van adva (általában http vagy https használatban van).

Az android process acore folyamatosan leáll

előtag-

Létrehoz egy tartomány előtagot (a www a http alapértelmezett értéke).

Tartomány-

Az interneten található domain nevet tárgyalja (pl. javatpoint.com ).

Kikötő -

Azonosítja a portot a gazdagépen ( 80 a http alapértelmezett értéke).

Pálya -

Ez létrehoz egy elérési utat a szerver oldalon.

Fájl név -

Azonosítja egy erőforrás vagy dokumentum nevét.

A domain név lekérése a URL ban ben javascript különféle okokból hasznos feladat lehet, például a domain név kibontása webelemzési vagy biztonsági okokból. Ebben a válaszban megvizsgáljuk a domain név URL-ből való kinyerésének különböző módjait javascriptben, valamint ezek előnyeit és hátrányait.

1. A window.location objektum használata

A legegyszerűbb módja a domain név lekérésének egy URL-ből javascriptben a ablak.hely objektum , amely információkat nyújt az aktuális URL-ről. A window.location.host tulajdonság megadja nekünk a domain nevet, beleértve a portszámot is, ha van. Íme egy példa:

 Const domain = window.location.host; 

Ennek a megközelítésnek az az előnye, hogy egyszerű és megbízható. Ez azonban csak az aktuális URL-hez működik, így ha egy másik URL-ről kell kivonnia a domain nevet, akkor más módszert kell használnia.

2. Az URL konstruktor használata

Egy másik módja annak, hogy a tartománynevet kinyerjük az URL-ből a javascriptben, az URL konstruktor használata. Ez egy beépített javascript objektum, amely képes elemezni egy URL-karakterláncot, és hozzáférést biztosít annak különböző összetevőihez. Íme egy példa:

 Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname; 

Az URL-konstruktornak megvan az az előnye, hogy nem csak az aktuális URL-ből, hanem bármely érvényes URL-ből is ki tudja bontani a tartománynevet. Azonban csak a modern böngészőkben érhető el, ezért használat előtt ellenőriznie kell, hogy támogatott-e.

Java szkenner következő

3. Reguláris kifejezések használata

Egy fejlettebb módszer a domain név URL-ből való kivonására JavaScriptben a reguláris kifejezések használata. A reguláris kifejezések hatékony eszközt jelentenek a mintaillesztéshez, és felhasználhatjuk őket a domain név URL-ből való kinyerésére. Íme egy példa:

 Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@
]+@)?(?:www.)?([^:/
]+)/im)[1]; 

Ez a reguláris kifejezés mintája megegyezik az URL domain nevével, figyelmen kívül hagyva a protokollt ( http vagy https ), felhasználónév és jelszó, valamint elérési út. Úgy működik, hogy megkeresi a kettőspontot, perjelet vagy újsort nem tartalmazó karaktersorozat első előfordulását, amelyet egy opcionális protokoll, felhasználónév és jelszó, valamint opcionális 'www.' előtag. A match metódus egy tömböt ad vissza, amely tartalmazza a teljes egyezést és a rögzített csoportokat, ezért ki kell bontani a második elemet (az 1. indexnél), hogy megkapjuk a domain nevet.

Ennek a megközelítésnek megvan az az előnye, hogy rugalmas és adaptálható a különböző URL-formátumokhoz, de bonyolultabb és hibásabb is, ha a reguláris kifejezés mintája nem elég pontos.

4. A DOM használata

Végül a domain nevet egy URL-ből is kivonhatjuk JavaScriptben a DOM . Rejtett horgonyelemet létrehozhatunk, beállíthatjuk href attribútum arra az URL-re, ahonnan ki akarjuk bontani a tartománynevet, majd olvassa be a gazdagépnév tulajdonságot. Íme egy példa:

 Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname; 

Ennek a megközelítésnek megvan az az előnye, hogy könnyen érthető és megvalósítható, ugyanakkor létrehozza a DOM elem , ami hatással lehet a teljesítményre, ha ezt ismételten meg kell tennie.

Következtetés

Különféle módon lehet a domain nevet kinyerni egy URL-ből a javascriptben, és a legjobb megközelítés az Ön követelményeitől és korlátaitól függ. Ha csak a tartománynevet kell kivonnia az aktuális URL-ből, használja a ablak.hely objektum a legegyszerűbb és legmegbízhatóbb módszer.