2017-03-08 71 views
-1

我一直在尋找只處理絕對URL的JS中的正則表達式,但似乎無法找到一個。我希望能夠用正則表達式定義下面的absoluteCheck。僅JS絕對URL的正則表達式?

應該通過在下面的功能絕對URL:

樣品輸入:http://www.example.com,example.com,www.example.com

輸出:真

網址不應在傳下面(相對路徑)函數:

樣品輸入:/例如,/#示例

輸出:假

var absoluteLink = function(url){ 
    var absoluteCheck = //regex expression defined here; 
    return absoluteCheck.test(url); 
}; 
+0

請閱讀[正則表達式如何提出(http://stackoverflow.com/tags/regex/info),特別是,「你應該總是包括樣本輸入,期望的輸出,以及你嘗試過的大綱,以及你卡在哪裏。通常情況下,你不想匹配的一個例子也是非常有用的,也是非常重要的。「 – KernelPanic

+1

@KernalPanic我已經編輯了我的問題,包括你說的內容 –

+1

顯着改進的問題:)'^ [^ \ ]。* $'適用於您的示例(匹配任何不以正斜槓開頭的內容)。這是您想要的,還是您想驗證您的匹配是否爲有效的URL(如果是,請問您是否有一個有效的URL的規範)? – KernelPanic

回答

0

正則表達式:

(http|https):\/\/www\.[a-zA-Z]+\.[a-zA-Z]+|www\.[a-zA-Z]+\.[a-zA-Z]+|[a-zA-Z]+\.[a-z]+ 

這裏的正則表達式與轉義字符(如果你需要將其插入到一個字符串):

(http|https):\\/\\/www\\.[a-zA-Z]+\\.[a-zA-Z]+|www\\.[a-zA-Z]+\\.[a-zA-Z]+|[a-zA-Z]+\\.[a-z]+ 

所以它會匹配:

我不知道,如果你想添加HTTPS,如果你沒有,比這裏沒有:

正則表達式:

http:\/\/www\.[a-zA-Z]+\.[a-zA-Z]+|www\.[a-zA-Z]+\.[a-zA-Z]+|[a-zA-Z]+\.[a-z]+ 

轉義字符:

http:\\/\\/www\\.[a-zA-Z]+\\.[a-zA-Z]+|www\\.[a-zA-Z]+\\.[a-zA-Z]+|[a-zA-Z]+\\.[a-z]+