我目前将此作为一项功能:
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测试”
答案 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应该完全重做,但是使用您的奇怪逻辑,这可能对您有用。