这是我的正则表达式,用于检查输入文本中的链接。
message = message
.replace(/(https?:\/\/)(www\.)*[a-zA-Z0-9]{3,}(\.[a-z]{2,4})*/g,'<a href="$&" class="my_link" target="_blank">$&</a>')
.replace(/(https?:\/\/){0}www\.[a-zA-Z0-9]{3,}(\.[a-z]{2,4})*/g,'<a href="http://$&" class="my_link" target="_blank">$&</a>');
适用于 http://google.com , https://google.com , http://google.co.in , https://google.co.in , www.google.com 和 www.google.co.in 。
但不适用于 http://www.google.com 。
我该怎么办?
如果我输入此网址,则会输出www.google.com" class="my_link" target="_blank">http://www.google.com
我现在应该怎么做?
感谢
更新:对于此链接http://www.youtube.com/watch?v=SukTBSJJ4KM&feature=g-vrec&context=G2d692eeRVAAAAAAAACA
,它会在几个点上中断。
在http://www.youtube.com
答案 0 :(得分:1)
怎么样:
message = message
.replace(/(https?:\/\/|)((www\.)?[a-zA-Z0-9]{3,}(\.[a-z]{2,4})*)/g,'<a href="http://$2" class="my_link" target="_blank">$1$2</a>')
根据问题更改进行编辑:
message = message
.replace(/(https?:\/\/|)(\S+)/g,'<a href="http://$2" class="my_link" target="_blank">$1$2</a>')
答案 1 :(得分:1)
我做到了.. M42的答案几乎没有变化。
message = message
.replace(/(https?:\/\/|)((w+\.)?[a-zA-Z0-9-]{1,}(\.[a-z]{2,}){1,}(\/\S*)?)/g,'<a href="http://$2" class="my_link" target="_blank">$1$2</a>')
适用于所有链接。 谢谢M42。 :d
答案 2 :(得分:0)
尝试以下模式:
/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
或尝试这种模式:
var re = /(^|\s)((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)/gi;
答案 3 :(得分:0)
我想我拥有它,请看这里的小提琴:http://jsfiddle.net/MWBFS/
胆量是:
/\b(www\.|http(s)*:\/\/)(\S+)/
Fiddle的输出是:
beginning <a href="http://google.co.in" class="my_link" target="_blank">google.co.in</a> end
beginning <a href="https://google.co.in" class="my_link" target="_blank">google.co.in</a> end
beginning <a href="http://google.com" class="my_link" target="_blank">google.com</a> end
beginning <a href="http://google.co.in" class="my_link" target="_blank">google.co.in</a> end
beginning <a href="http://google.com/" class="my_link" target="_blank">google.com/</a> end
beginning <a href="http://google.co.in/" class="my_link" target="_blank">google.co.in/</a> end
beginning <a href="http://www.google.com/" class="my_link" target="_blank">www.google.com/</a> end
beginning <a href="http://www.google.com/" class="my_link" target="_blank">www.google.com/</a> end