Linkify - 文字与“www。”或者只是最后的域名

时间:2014-01-13 23:42:48

标签: javascript regex

我目前将此作为一项功能:

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

所以这与前面的http一起工作,但我希望它在没有http的情况下工作。例如: “测试测试www.google.com测试”甚至“测试google.com测试”

2 个答案:

答案 0 :(得分:1)

您可以使用www。*模式进行匹配,但由于现在有无限数量的顶级域名,因此会给您带来大量误报

答案 1 :(得分:0)

尝试:

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

当然,我认为您的RegExp应该完全重做,但是使用您的奇怪逻辑,这可能对您有用。