logo

Kā iegūt domēna nosaukumu no URL JavaScript

Kas ir URL?

A URL ir cits nosaukums a interneta adrese . Piemēram, uz vārdiem balstīts URL ir Javapoint.com. A URL var izveidot arī, izmantojot IP adresi (piem. 192.168.2.24 ). Lielākā daļa patērētāju, veicot meklēšanu tiešsaistē, norāda vārda adresi, jo vārdus ir vieglāk atcerēties nekā ciparus.

Izmanto tīmekļa pārlūkprogrammas URL lai pieprasītu tīmekļa serveriem konkrētas lapas. Zemāk ir saraksts ar a URL sintakse un formātā .

Sintakse

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

Parametri

Shēma-

Ir norādīts interneta pakalpojuma veids (vispārīgi tiek izmantots http vai https).

Priedēklis-

Tas nosaka domēna prefiksu (www ir http noklusējums).

Domēns-

Tajā tiek apspriests domēna vārds internetā (piem. javatpoint.com ).

Osta -

Tas identificē resursdatora portu ( 80 ir noklusējuma vērtība http).

Ceļš -

Tas izveido ceļu servera pusē.

Faila nosaukums -

Tas identificē resursa vai dokumenta nosaukumu.

mb uz GB

Domēna vārda iegūšana no a URL iekšā javascript var būt noderīgs uzdevums dažādu iemeslu dēļ, piemēram, domēna nosaukuma iegūšana tīmekļa analīzes vai drošības nolūkos. Šajā atbildē mēs izpētīsim dažādus veidus, kā iegūt domēna nosaukumu no URL JavaScript, kā arī to priekšrocības un trūkumus.

1. Izmantojot objektu window.location

Vienkāršākais veids, kā iegūt domēna nosaukumu no URL JavaScript, ir izmantot logs.vietas objekts , kas sniedz informāciju par pašreizējo URL. The window.location.host Īpašums sniedz mums domēna nosaukumu, tostarp porta numuru, ja tāds ir. Šeit ir piemērs:

 Const domain = window.location.host; 

Šīs pieejas priekšrocība ir vienkārša un uzticama. Tomēr tas darbojas tikai pašreizējam URL, tādēļ, ja jums ir nepieciešams iegūt domēna nosaukumu no cita URL, jums būs jāizmanto cita metode.

2. URL konstruktora izmantošana

Vēl viens veids, kā izvilkt domēna nosaukumu no URL JavaScript, ir izmantot URL konstruktoru. Tas ir iebūvēts javascript objekts, kas var parsēt URL virkni un nodrošināt piekļuvi dažādiem tā komponentiem. Šeit ir piemērs:

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

URL konstruktora priekšrocība ir iespēja iegūt domēna nosaukumu no jebkura derīga URL, ne tikai no pašreizējā. Tomēr tas ir pieejams tikai modernajās pārlūkprogrammās, tāpēc pirms lietošanas pārbaudiet, vai tas tiek atbalstīts.

3. Regulāro izteiksmju izmantošana

Progresīvāka pieeja domēna nosaukuma izvilkšanai no URL JavaScript ir regulāro izteiksmju izmantošana. Regulārās izteiksmes ir spēcīgs rakstu saskaņošanas rīks, un mēs varam tās izmantot, lai izvilktu domēna nosaukumu no URL. Šeit ir piemērs:

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

Šis regulārās izteiksmes modelis atbilst domēna nosaukumam URL, ignorējot protokolu ( http vai https ), lietotājvārds un parole, un ceļš. Tas darbojas, meklējot pirmo reizi sastopamo rakstzīmju virkni, kas neietver kolu, slīpsvītru vai jaunu rindiņu, pirms kuras ir neobligāts protokols, lietotājvārds un parole, kā arī neobligāts 'www.' priedēklis. Atbilstības metode atgriež masīvu, kurā ir visa atbilstība un visas uzņemtās grupas, tāpēc mums ir jāizvelk otrais vienums (1. rādītājā), lai iegūtu domēna nosaukumu.

Šīs pieejas priekšrocība ir tā, ka tā ir elastīga un pielāgojama dažādiem URL formātiem, taču tā ir arī sarežģītāka un pakļauta kļūdām, ja regulārās izteiksmes modelis nav pietiekami precīzs.

4. DOM izmantošana

Visbeidzot, mēs varam arī iegūt domēna nosaukumu no URL JavaScript, izmantojot DOM . Mēs varam izveidot slēptu enkura elementu, iestatīt to href atribūts uz URL, no kura vēlamies izvilkt domēna nosaukumu, un pēc tam izlasiet resursdatora nosaukuma rekvizītu. Šeit ir piemērs:

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

Šīs pieejas priekšrocība ir tā, ka tā ir viegli saprotama un īstenojama, taču tā arī rada a DOM elements , kas var ietekmēt veiktspēju, ja jums tas jādara atkārtoti.

Secinājums

Ir dažādi veidi, kā izvilkt domēna nosaukumu no URL JavaScript, un labākā pieeja ir atkarīga no jūsu prasībām un ierobežojumiem. Ja jums ir jāizņem tikai domēna nosaukums no pašreizējā URL, izmantojot logs.vietas objekts ir vienkāršākā un uzticamākā metode.