美文网首页
正则匹配网址

正则匹配网址

作者: 金声玉振 | 来源:发表于2015-07-07 15:42 被阅读82次

leeiio.me/url-in-text-regexp/
var text="你好,我是一段文本。我链接到http://leeiio.me/test.html请大家多多指教。";

var regexp=/((http|ftp|https|file):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)/ig;

text=text.replace(regexp, "<a  href='$1'> $1 <a>");

console.log(text);

但是如果URL中有中文呢?虽然我们不应该用中文作为URL的一部分,已经把中文部分encode掉,但是很多人比如粗心的写wordpressd的人,通常不指定Slug,那么很多URL自然也就带上了标题的中文了。可以改成:

var regexp=/((http|ftp|https|file):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)/ig;

但是如果有日语呢?韩语呢?所以。。。

自己改进到更加适配的版本:

相关文章

网友评论

      本文标题:正则匹配网址

      本文链接:https://www.haomeiwen.com/subject/axiyqttx.html