js正則表達式讀取url字符串裏的主機名稱

需求:

給定一個url爲"http://haosou.com"或者"http://haosou.com/aa",想要獲得的字符串爲"haosou.com"。
解決辦法:正則表達式

  • 正則表達式
/http:\/\/(.*?)\//
  • 具體代碼:
var http = 'http://haosou.com';
httpArr = http.replace(/http:\/\/(.*?)\//,"$1\n");
  • 結果

主機名稱的值爲httpArr[0]優化

另外一種解決思路

能夠利用String.split方法來分割字符串url

var url = "http://haosou.com/aa";
var urlArr = url.split("/");
var hostname = urlArr[2];
console.log(hostname);

未完待續...

  1. 若是url的協議爲https呢?
  2. 用split方法會在結果中多一個defined值,因此hostname爲urlArr[2],能夠再優化一些嗎?
["http:", "", "haosou.com", "aa"]
相關文章
相關標籤/搜索