将文本网址链接转换为可点击链接

时间:2014-01-30 09:07:23

标签: javascript regex

www字符串中的所有http://www转换为{I}我尝试过的

正则表达式:/^www(?!http\:\/\/|https\:\/\/)./g;但它仅在任何字符或数字不在www之前时才起作用。例如:Find me at www.test.com在这种情况下,它失败但它适用于www.google.com find me on this。我不知道如何将条件放在常规exp中。

function mailify(text)
{
  var regEx = /^www(?!http\:\/\/|https\:\/\/)/g;
  return text.replace(regEx, "http://www");
}

console.log(mailify("www.ni@gmail.com"));

7 个答案:

答案 0 :(得分:1)

你可以这样做:

return text.replace("www", "http://www");

答案 1 :(得分:0)

Nishant这很有帮助:

  function mailify(text)
    {
      var regEx = /www/g;
      return text.replace(regEx, "http://www");
    }

    console.log(mailify("www.google.com find me on this"));

答案 2 :(得分:0)

这是因为你的正则表达式以^开头,这意味着你的表达式必须以www开头。试试这个:

/^.*www(?!http\:\/\/|https\:\/\/)./g;

来源:Regular Expressions- Match Anything

答案 3 :(得分:0)

将前瞻放在www:

之前
var regEx = /^(?!https?:\/\/)www/;

答案 4 :(得分:0)

您可以使用以下正则表达式:

/([^/]|^)(www)/g

代码:

var reg=/([^/]|^)(www)/g
var line="something www.some.com , http://some1.com"
console.log(line.replace(reg,"$1http://$2"))

输出:

 "something http://www.some.com , http://some1.com"

<强> Demo

说明:

enter image description here

答案 5 :(得分:0)

你可以试试这个:

    function mailify(text)
    {
      var regEx = /\b(https?:\/\/)?www\./g;
      return text.replace(regEx, 'http://www.');
    }

    console.log(mailify('www.yourlink.com notalinkwww.yourlink.com http://www.yourlink.comm'));

您还需要检查'www'后面是否有一个点,以确保它标记链接的开头。

如果您只想要链接可点击,则必须执行此操作:

function mailify(text)
{
  var regEx = /\b((https?:\/\/)?www\.\S*)/g;
  return text.replace(regEx, '<a href="$1">$1</a>');
}

答案 6 :(得分:0)

替换包含http://httpsftpfile或仅wwwhttp://wwwhttps://www的所有文字,其次是任何字符数字和特殊字符,甚至后面的空格都可以点击链接。

Reg Ex: /(\b((https?|ftp|file):\/\/|(www))[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]*)/ig

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

我已通过以下字符串进行测试:

  1. 找到www.google.com
  2. WWW
  3. 找到www。http://www.com
  4. 关注我:http://www.nishantwork.wordpress.com
  5. http://www.nishantwork.wordpress.com
  6. 关注我:http://www.nishantwork.wordpress.com
  7. https://stackoverflow.com/users/430803/nishant
  8. 注意:如果您不想将www作为有效的传递,请使用以下reg ex: /(\b((https?|ftp|file):\/\/|(www))[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig

    参考:How to replace plain URLs with links?

    如果reg ex失败,请添加评论,如果我错了请告诉我。