簡體   English   中英

如何在 NodeJS 中將子域添加到 URL 字符串

[英]How to add a subdomain to a URL string in NodeJS

我想在 NodeJS 中的 URL 字符串中添加一個子域,特別是www 但前提是 URL 還沒有一個。

輸入示例:

# changes
https://facebook.com/
facebook.com

# doesn't change
https://developers.facebook.com/

他們的輸出:

# changes
https://www.facebook.com/
www.facebook.com

# doesn't change
https://developers.facebook.com/

可能有更多的 eloquent 方法可以做到這一點,但以下應該完成你想要的。 本質上,您可以檢查是否只有一個. 在 URL 中。 如果只有一個,那么您需要一個子域。

 function formatUrl(url) { if((url.match(/\./g) || []).length > 1) { return url; } return url.replace('//', '//www.'); } console.log(formatUrl('https://developers.facebook.com/')) console.log(formatUrl('https://facebook.com/')) console.log(formatUrl('https://www.facebook.com/'));

您可以通過查找 URL 中的點數來做到這一點,如果它們大於 1,則可以應用www

 let url = "https://facebook.com/"; url = getURL(url); console.log(url); console.log(getURL("sbc.someurl.com/sometopic/hello.world")); function getURL(url){ url = url.split("//"); let isHttps = url.length > 1? url[0]: false; if(url && url.length > 1){ url = url[1]; // someurl.com/sometopic/hello.world } else{ url = url[0]; } let a = url.split("/"); let u = a[0]; // someurl.com let arr = u.split("."); if(arr.length > 2){ console.log("No need for www"); } else{ a[0] = "www." + a[0]; } if(isHttps){ return isHttps + "//" + a.join("/"); } else{ return a.join("/"); } }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM