【发布时间】:2019-10-24 10:04:46
【问题描述】:
我有一个场景,我想检查一个字符串是否包含一个 url 并使其可点击。我使用正则表达式将其转换为 url。但它只适用于http。我也想为 wwww 制作它。在我拥有的正则表达式中,我可以添加 htttp 或删除 http 以在 url 中包含 www。 我已将代码粘贴在 JSfiddle 中
var convertTextToHTML = $("#systemNotificationMsg").text();
var conversation = convertTextToHTML.replace(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/, function(text, link) {
return '<a href="http://'+ link +'"> ' + link + ' </a>';
});
【问题讨论】:
-
我可以看到它为
www工作。你到底想要什么? -
只有在开头加上http://才有效
-
在你的小提琴中,将 url 更改为
www.google.com并在 `return ' ' + link + ' 之前添加console.log(link);a>';`你可以看到它的返回链接www -
如果你检查,它只返回带有 http 而不是 www 的那个
-
我发布了答案。
标签: javascript jquery regex