如何检查前一个字符串点?

时间:2012-03-15 09:00:46

标签: javascript regex

这是我的正则表达式,用于检查输入文本中的链接。

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

之后应该添加到读取地址的正则表达式是什么

4 个答案:

答案 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