function getHost(url){
const { hostname } = new URL(url);
console.log(hostname);
}
getHost('https://playcode.io/1057908')
getHost('https://vi.wikipedia.org/wiki/Trang_Ch%C3%ADnh')
getHost('https://www.chinadaily.com.cn/a/202301/10/WS63bcc320a31057c47eba8aa5.html')
getHost('https://www.dw.com/en/ukraine-updates-kharkiv-hit-after-german-ministers-visit/a-64347275')
// output: playcode
// wikipedia
// chinadaily
// dw
Cần giúp đỡ lấy domain url với JS
Chi rắc rồi vậy?
console.log(window.location.hostname)
Ý mình là lấy output kia chứ domain nó là random
bạn thử này xem
function getHost(url){
const { hostname } = new URL(url);
let result = hostname.split(".")
console.log(result[0]);
}
Yêu cầu ntn tức là lấy tên miền cấp 2 hoặc 3, bạn sẽ cần xét token [-2].
Code này chỉ đúng với domain nào không có subdomain vd: www, m …
Với domain là “https://www.dw.com/en/ukraine-updates-kharkiv-hit-after-german-ministers-visit/a-64347275” thì sai rồi
Muốn biết đúng hay sai thì phải có tiêu chí và yêu cầu. Bạn xem lại bài viết của mình xem đã đầy đủ thông tin hay chưa
Domain url là cái quái gì nhỉ? Rồi random nữa thì mình đến chịu. Dám cá 100% rằng bạn không thể biết được một chuỗi nhập vào có phải là domain hay không bởi vì hiện nay ngay cả ICANN cũng đang lúng túng.
Khi không có tiêu chí để “phán” đó là domain hay không thì lấy bằng kiểu gì nhỉ?
Domain không dùng ký tự Latin nữa thì rách việc luôn, kakaka.
Cho nên, tốt hơn hết là kiếm một cái RegEx ở đâu đó có thể xử lý được việc này một cách chung chung, thông thường nhất với cái domain có phần mở rộng thônng dụng. Test thấy true rồi thì dùng hàm sau:
function MyDomain(url){
let dm = url.split("//")[1];
return dm.split("/")[0];
}