背景:寫一個簡單的聊天系統,發出Htpp的Url實現跳躍加上a標籤。
實作程式碼:
String.prototype.http. function(){
var reg = /(http://|https://)((w|=|?|.|/|&|-) )/g;
return this.replace( reg, '
$1$2');
};
摘錄: URL位址自動加入的實作
URL位址自動加入的實作其實就是那麼點內容:偵測與取代。
偵測 「偵測」就是偵測文字(字串)內部是否有符合http位址的內容,顯然,這需要用到正規表示式進行驗證,這個工作前端和後台都可以做,這裡,只講前端的方法,使用JavaScript實作。
驗證HTTP位址的正規表示式如下(可能有疏漏或是不準確之處,歡迎指正):
var reg = /(http://|https://)((w|=| ?|.|/|&|-) )/g;
前一部分符合http或是https開頭的URL字串位址,後面一部分符合一些字符,英文字符、下劃線(_)、點號(.) 、問號(?)以及等號(=),連接短線(-)等。
替換 說到JavaScript中的替換功能,首先想到的自然是replace屬性了,replace屬性強大之處在於其支援正規表示式,可以對符合正規表示的字串進行替換。例如,我們要替換掉字串兩端的空格就可以使用類似下面的語句:
var s = " blank ";
s = s.replace(/^s (.*?)s $/, "");
alert(s);