2011-08-12 159 views
3

URL链接我使用:如何创建字符串

var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
return text.replace(exp,"<a href='$1' target='internet'>$1</a>"); 

转向,例如http://www.example.com成可点击的链接。这效果很好!

有谁知道如何扩展这个表达式来捕获www.example.com(即没有0​​)?

+0

从头开始。你想做什么? –

+0

@Ash:似乎他想将字符串'http:// www.example.com'和'www.example.com'转换为''标签。 –

回答

0

试试这个正则表达式:

(?<http>(http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])*) 
+0

谢谢。我在使用函数时遇到问题: function replaceWWW(text){0} {0} {0} 0-9] | [/] | [〜])*)/ IG。 return text.replace(exp,“$1”); } 也许我错过了一个逃生角色? – user884899

1

这为我工作:

添加这里()*

((https?|ftp|file):\/\/)* 

http://jsfiddle.net/jasongennaro/NBWyr/

基本为零或()

多个项目
+0

+1干得好!很酷。 – Maverick

+0

我试着用'var text ='http://www.google.com是一个很酷的网站,但www.yahoo.com不是。';'并且它不能正常工作。更多的文字被突出显示应该是。 – styfle

+0

@styfle。据我所知,这个正则表达式只用于地址,而不是句子。虽然我可能是错的。 –