js正则 - 替换文本中的URL为链接

2008-12-11 09:03:37 | 【

将一个用户输入的一段文字中的url替换成可以点击的link地址。例如:http://www.sharejs.com可以替换成 [url]http://www.sharejs.com[/url]

这个正则的关键就在于匹配链接,匹配之后,在两边加上a标签和属性不是问题。

 /http:\/\/[\w-]*(\.[\w-]*)+/ig 


首先匹配http://。

[\w-]*是可能的www和bbs等。

\.[\w-]*匹配.xxx形式,至少有一个。

测试代码如下:

 <script type="text/javascript"> 

        /*****************************************************
         *  Share JavaScript (http://www.ShareJS.com)
         * 使用此脚本程序,请保留此声明
         * 获取此脚本以及更多的JavaScript程序,请访问 http://www.ShareJS.com
         ******************************************************/
    
 function replaceReg(reg,str){ 
  return str.replace(reg,function(m){return '<a href="'+m+'">'+m+'</a>';}) 
 } 
 var reg = /http:\/\/[\w-]*(\.[\w-]*)+/ig; 
 var str = '将一个用户输入的一段文字中的url替换成可以点击的link地址。\
测试一下:http://www.sharejs.com紧接着中文,还有http://www.sharejs.com \
is very good!http://sharejs.com!最后在看看带.cn的:http://www.sina.com.cn呵呵。'; 
 document.write(replaceReg(reg,str)+'<br />'); 
 </script> 

相关资源