搜索';www.';并替换为';http://';使用正则表达式javascript

搜索';www.';并替换为';http://';使用正则表达式javascript,javascript,regex,url,replace,Javascript,Regex,Url,Replace,我试图让用户输入的URL成为可点击的链接。现在我有一个正则表达式搜索URL,并将它们包装在标记中 例如: var message = 'This is a test message on http://stackoverflow.com/ forum!' var regex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]

我试图让用户输入的URL成为可点击的链接。现在我有一个正则表达式搜索URL,并将它们包装在
标记中

例如:

var message = 'This is a test message on http://stackoverflow.com/ forum!'
var regex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/g;
message = message.replace(regex, '<a href=$1 target="_blank" class="comment-format-url">$1</a>');

//This is a test message on <a href=http://stackoverflow.com/ target="_blank" class="comment-format-url">http://stackoverflow.com/</a> forum!
问题是它会做这样的事情

https://www.opentext.com
-->
https://https://opentext.com

如何检查字符串是否以
www.
开头以防止上述情况发生


谢谢

下面的正则表达式将
a
标记添加到以
http(s)://
www.
开头的链接,或者两者都添加:

message.replace(/((https?:\/\/|www\.|https?:\/\/www\.)[0-9a-z\.\-=:\/\?%&#;]+)/gi, '<a href="$1" target="_blanc">$1</a>')
message.replace(/((https?:\/\/\/\\/\\\/\\\/\\/www\.[0-9a-z\-=:\/\?%&\\]+)/gi,)

尝试
消息。替换(/^www\./ig,'http://')除了链接在中间的字符串外,效果很好。然后尝试这个“代码>消息。替换(/^(^))www \/g,‘$1HTTP://’);<代码>我最终使用了
/(\s| ^)(www\)/ig
message.replace(/((https?:\/\/|www\.|https?:\/\/www\.)[0-9a-z\.\-=:\/\?%&#;]+)/gi, '<a href="$1" target="_blanc">$1</a>')