|
| 1 | +// Дан произвольный url вида - "https://purpleschool.ru/course/javascript" |
| 2 | +// Нужно сделать функцию getUrlParts, которая выводит в консоль: |
| 3 | +// - Протокол "https" |
| 4 | +// - Доменное имя "purpleschool.ru" |
| 5 | +// - Путь внутри сайта "/course/javascript" |
| 6 | +// Используйте split(), join() методы. Оператор ...REST. |
| 7 | +// Организуйте проверку на корректность входящего url. |
| 8 | + |
| 9 | +const url = 'https://purpleschool.ru/course/javascript'; |
| 10 | +const url2 = 'http://purpleschool.ru/course/react'; |
| 11 | +const url3 = 'ftp://purpleschool.ru/course/git'; |
| 12 | +const url4 = 'https://purpleschoolru/course/html&css'; |
| 13 | + |
| 14 | +function getUrlParts(url) { |
| 15 | + if (!url.startsWith('http://') && !url.startsWith('https://')) { |
| 16 | + return `Ошибка в протоколе! Должен быть http или https!`; |
| 17 | + } |
| 18 | + |
| 19 | + // const [protocol, domain, ...path] = url.split('/').filter(Boolean); |
| 20 | + const [protocol, , domain, ...path] = url.split('/'); |
| 21 | + |
| 22 | + if (!domain.includes('.')) { |
| 23 | + return `Ошибка в доменном имени!`; |
| 24 | + } |
| 25 | + |
| 26 | + // return `Протокол - ${protocol.replace(':', '')}, доменное имя - ${domain}, путь - /${path.join('/')}`; |
| 27 | + // return `Протокол - ${protocol.slice(0,-1)}, доменное имя - ${domain}, путь - /${path.join('/')}`; |
| 28 | + return `Протокол - ${ |
| 29 | + protocol.split(':')[0] |
| 30 | + }, доменное имя - ${domain}, путь - /${path.join('/')}`; |
| 31 | +} |
| 32 | + |
| 33 | +console.log(getUrlParts(url)); // "Протокол - https, доменное имя - purpleschool.ru, путь - /course/javascript" |
| 34 | +console.log(getUrlParts(url2)); // "Протокол - http, доменное имя - purpleschool.ru, путь - /course/react" |
| 35 | +console.log(getUrlParts(url3)); // "Ошибка в протоколе! Должен быть http или https!" |
| 36 | +console.log(getUrlParts(url4)); // "Ошибка в доменном имени!" |
0 commit comments