一般我們經常看到一些在帖子或者別人的文章裡,文字中間還會夾帶著很多的網址還有URL而且URL還是可以點擊進去的;還有另外一個較常用到的地方就是聊天系統中識別對話的URL,廢話不多說,入正題請看下面的代碼!
// 從字符串中提取url function matchUrl(str){ res = str.replace(/((?:http:\/\/)(?:.[\w]+)+)/g,function(){ if (/^http/.test(arguments[1])) { return "<a class='urlTag'" + " onclick=webPage('"+arguments[1]+"') " +"href='javascript:void(0)'>"+arguments[1]+"</a>"; } else { return "<a class='urlTag'" + " onclick=webPage('http://"+arguments[1]+"') " +"href='javascript:void(0)'>"+arguments[1]+"</a>"; } }); return res; }
result = matchUrl('http://hovertree.com/map這是一個開發網站');
alert(result);
(上面的正則是匹配URL沒有www開頭,如果有需要可以加個判斷)
<script type="text/javascript"> str = 'http://www.baidu.com'; result = str.match(/((?:http:\/\/)?w{3}(?:.[\w]+)+)/g); if (result == null) { result = str.match(/((?:http:\/\/)?(?:.[\w]+)+)/g); }; document.write(result); </script>