पार्स-डोमेन - एक बहुत ही ठोस हल्का पुस्तकालय
npm install parse-domain
const { fromUrl, parseDomain } = require("parse-domain");
उदाहरण 1
parseDomain(fromUrl("http://www.example.com/12xy45"))
{ type: 'LISTED',
hostname: 'www.example.com',
labels: [ 'www', 'example', 'com' ],
icann:
{ subDomains: [ 'www' ],
domain: 'example',
topLevelDomains: [ 'com' ] },
subDomains: [ 'www' ],
domain: 'example',
topLevelDomains: [ 'com' ] }
उदाहरण 2
parseDomain(fromUrl("http://subsub.sub.test.ExAmPlE.coM/12xy45"))
{ type: 'LISTED',
hostname: 'subsub.sub.test.example.com',
labels: [ 'subsub', 'sub', 'test', 'example', 'com' ],
icann:
{ subDomains: [ 'subsub', 'sub', 'test' ],
domain: 'example',
topLevelDomains: [ 'com' ] },
subDomains: [ 'subsub', 'sub', 'test' ],
domain: 'example',
topLevelDomains: [ 'com' ] }
क्यों?
उपयोग के मामले और मात्रा के आधार पर मैं दृढ़ता से इस समस्या को हल करने के खिलाफ खुद को रेगेक्स या अन्य स्ट्रिंग हेरफेर साधनों का उपयोग करने की सलाह देता हूं। इस समस्या का मूल यह है कि आपको डोमेन और उप-डोमेन में url स्ट्रिंग्स को ठीक से पार्सल करने के लिए सभी gtld और cctld प्रत्यय जानने की जरूरत है , ये प्रत्यय नियमित रूप से अपडेट किए जाते हैं। यह एक हल की गई समस्या है और न कि आप खुद को हल करना चाहते हैं (जब तक कि आप Google या कुछ और नहीं हैं)। जब तक आपको एक चुटकी में होस्टनाम या डोमेन नाम की आवश्यकता नहीं होती है, तब तक इस तरह से बाहर निकलने की कोशिश न करें।
url.split('/')[2]की हम लिख परवाह किए बिना के बाद सेftp,ftps,https, डोमेन नाम हमेशा पर सूचकांक 2. हो जाएगा